1. //初始化套接字環境wsastartup
2. //初始化位址和埠
3. //建立udp套接字socket
4. //繫結埠bind
5. //用recvfrom接收資料
6. //用sendto傳送資料
7. //退出或者返回第5步繼續
1. //初始化套接字環境wsastartup
2. //初始化位址和埠
3. //建立udp套接字socket
4. //用sendto傳送資料
5. //用recvfrom接收資料
#include #include #include #pragma comment(lib, "ws2_32.lib")
using namespace std;
int main()
//2、初始化位址和埠
unsigned short cport = 6556;
sockaddr_in serveraddr, clientaddr;
serveraddr.sin_family = af_inet;
serveraddr.sin_port = htons(cport);//埠
serveraddr.sin_addr.s_un.s_addr = htonl(inaddr_any);//ip
//3、建立udp套接字socket
socket server = socket(af_inet, sock_dgram, 0);//make a socket
if (server == invalid_socket)
//4、繫結埠bind
int retval = bind(server, (sockaddr*)(&serveraddr), sizeof(serveraddr));//bind socket to address
if (retval == socket_error)
//5、用recvfrom接收資料
int len = sizeof(clientaddr);
while (1)
; int r = recvfrom(server, buf, 256, 0, (sockaddr*)&clientaddr, &len);
if (r == socket_error)
uint uip = clientaddr.sin_addr.s_un.s_addr;
printf("%s 來自於ip:%d.%d.%d,%d \n", buf, lobyte(uip), hibyte(uip), lobyte(hiword(uip)), hibyte(hiword(uip)));
//6、用sendto傳送資料
char sbuf[256] = {};
cin.getline(sbuf, 256);
sendto(server, sbuf, 256, 0, (sockaddr*)&clientaddr, len);
//7、退出或者返回第5步繼續
} getchar();
getchar();
return 0;
}
#include #include #include #pragma comment(lib, "ws2_32.lib")
using namespace std;
int main()
//2、初始化位址和埠
unsigned short cport = 6556;
sockaddr_in serveraddr, clientaddr;
serveraddr.sin_family = af_inet;
serveraddr.sin_port = htons(cport);//埠
serveraddr.sin_addr.s_un.s_addr = inet_addr("127.0.0.1");//ip
//3、建立udp套接字socket
socket client = socket(af_inet, sock_dgram, 0);//make a socket
if (client == invalid_socket)
//6、用sendto傳送資料
while (1)
; cin.getline(sbuf, 256);
sendto(client, sbuf, 256, 0, (sockaddr*)&serveraddr, sizeof(serveraddr));
//5、用recvfrom接收資料
int len = sizeof(clientaddr);
char buf[256] = {};
int r = recvfrom(client, buf, 256, 0, (sockaddr*)&clientaddr, &len);
if (r == socket_error)
uint uip = clientaddr.sin_addr.s_un.s_addr;
printf("%s 來自於ip:%d.%d.%d,%d \n", buf, lobyte(uip), hibyte(uip), lobyte(hiword(uip)), hibyte(hiword(uip)));
//7、退出或者返回第5步繼續
} getchar();
getchar();
return 0;
}
互發資料:
測試一般流程
目錄 一 測試準備階段 1.1 需求評審 1.2 測試計畫 1.3 測試用例 二 測試階段 2.1 開發自測 2.2 產品設計走查 2.3 測試接入測試 2.4 產品驗收階段 三 上線階段 3.1 與專案人員確認上線時間與策略 3.2 準備線上回歸的賬號,資料等 3.3 執行緊急回滾的策略 3.4開...
套接字聯網API之一 TCP套接字
最近學習了unix網路程式設計,套接字聯網api,書中的內容狠經典,很所部分的細節較少較多,主要部分的內容自己經常容易忽略。下面介紹自己理解的最基礎的內容 1.所有套接字有關的函式出錯時的返回值都是 1 2.服務端 1 建立乙個套接字 int socket int,int,int 2 與位址和埠繫結...
專案的一般流程
軟體專案一般流程可分為3大段 需求設計 編碼測試 執行除錯。一 需求設計 1.首先要做需求報告,和使用者溝通需要實現的功能,以及相關的資料和業務邏輯。然後做er圖 cdm和pdm,再做類圖,用軟體直接生成相關 專案組成員需要反覆論證邏輯是否正確,需要吵架吵架再吵架!否則以後就要麻煩。2.將前期所用 ...