1.
2.首先需要在vs配置上述,不然會報錯。
client**:
#include #include #include#include void main()
if (lobyte(wsadata.wversion) != 1 || //低位元組為主版本
hibyte(wsadata.wversion) != 1) //高位元組為副版本
printf("client is operating!\n\n");
//建立用於監聽的套接字
socket socksrv = socket(af_inet, sock_dgram, 0);
sockaddr_in addrsrv;
addrsrv.sin_addr.s_un.s_addr = inet_addr("127.0.0.1");//輸入你想通訊的她(此處是本機內部)
addrsrv.sin_family = af_inet;
addrsrv.sin_port = htons(6000);
int len = sizeof(sockaddr);
char recvbuf[100]; //收
char sendbuf[100]; //發
char tempbuf[100]; //儲存中間資訊資料
while (1)
sprintf_s(tempbuf, "%s say : %s", inet_ntoa(addrsrv.sin_addr), recvbuf);
printf("%s\n", tempbuf);
//傳送資料
} closesocket(socksrv);
wsacleanup();
}
server**:
#define _scl_secure_no_warnings
#include #include #include#include void main()
if (lobyte(wsadata.wversion) != 1 || //低位元組為主版本
hibyte(wsadata.wversion) != 1) //高位元組為副版本
printf("server is operating!\n\n");
//建立用於監聽的套接字
socket socksrv = socket(af_inet, sock_dgram, 0);//失敗會返回 invalid_socket
//printf("failed. error code : %d",wsagetlasterror())//顯示錯誤資訊
sockaddr_in addrsrv; //定義socksrv傳送和接收資料報的位址
addrsrv.sin_addr.s_un.s_addr = htonl(inaddr_any);
addrsrv.sin_family = af_inet;
addrsrv.sin_port = htons(6000);
//繫結套接字, 繫結到埠
bind(socksrv, (sockaddr*)&addrsrv, sizeof(sockaddr));//會返回乙個socket_error
//將套接字設為監聽模式, 準備接收客戶請求
sockaddr_in addrclient; //用來接收客戶端的位址資訊
int len = sizeof(sockaddr);
char recvbuf[100]; //收
char sendbuf[100]; //發
char tempbuf[100]; //儲存中間資訊資料
while (1)
sprintf_s(tempbuf, "%s say : %s", inet_ntoa(addrclient.sin_addr), recvbuf);
printf("%s\n", tempbuf);
//傳送資料
printf("please input data: \n");
gets_s(sendbuf);
sendto(socksrv, sendbuf, strlen(sendbuf) + 1, 0, (sockaddr*)&addrclient, len);
} closesocket(socksrv);
wsacleanup();
}
最後server與client之間就可以通化了
C 實現UDP通訊
using system using system.text using system.net using system.net.sockets namespace udptest dns.gethostname 設定服務ip,設定tcp埠號 ipendpoint ip newipendpoint ...
關於使用UDP套接字進行本地程序通訊
1 linux中程序間的通訊可以使用套接字的方式 2 套接字的方式即將套接字的目的地設為 127.0.0.1 port 以發包的形式將資料傳輸到本地的某個程序 3 套接字的方式可以選擇udp也可以選擇tcp。udp是不可靠連線,包頭中只有源埠,目的埠,udp長度以及udp的校驗和。傳輸層協議的校驗和...
UDP協議與UDP通訊
1 udp協議 udp是無連線通訊協議,即在資料傳輸時,資料的傳送端和接收端不建立邏輯連線。簡單來說,當一台計算機向另外一台計算機傳送資料時,傳送端不會確認接收端是否存在,就會發出資料,同樣接收端在收到資料時,也不會向傳送端反饋是否收到資料。但是在使用udp協議傳送資料時,由於udp的面向無連線性,...