代码
#include <stdio.h>
#include <winsock2.h>
#pragma comment (lib, "ws2_32.lib")
#define BUF_SIZE 100
int main(){
WSADATA wsaData;
WSAStartup( MAKEWORD(2, 2), &wsaData);
SOCKET sock = socket(AF_INET, SOCK_DGRAM, 0);
struct sockaddr_in servAddr;
memset(&servAddr, 0, sizeof(servAddr));
servAddr.sin_family = PF_INET;
servAddr.sin_addr.s_addr = htonl(INADDR_ANY);
servAddr.sin_port = htons(2345);
bind(sock, (SOCKADDR*)&servAddr, sizeof(SOCKADDR));
SOCKADDR clntAddr;
int nSize = sizeof(SOCKADDR);
char buffer[BUF_SIZE];
while(1){
int strLen = recvfrom(sock, buffer, BUF_SIZE, 0, &clntAddr, &nSize);
printf("strLen %d\n", strLen);
printf("buffer[0]%d\n", buffer[0]);
printf("buffer[0]%d\n", buffer[1]);
printf("buffer[0]%d\n", buffer[2]);
printf("buffer[0]%d\n", buffer[3]);
}
closesocket(sock);
WSACleanup();
return 0;
}
网络调试助手设置
因为代码中绑定了ip地址和端口,因此在网络调试助手设置的目标机地址和端口需要设置的和代码中一样。
代码中设置为:
servAddr.sin_addr.s_addr = htonl(INADDR_ANY);
servAddr.sin_port = htons(2345);
因此网络调试助手中设置为:
运行代码,如下图所示:
代码端接收到了网络调试助手发送过来的数据。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)