概述
代码
#include <stdio.h>
#include <winsock2.h>
#pragma comment (lib, "ws2_32.lib") //加载 ws2_32.dll
#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)); //每个字节都用0填充
servAddr.sin_family = PF_INET; //使用IPv4地址
servAddr.sin_addr.s_addr = htonl(INADDR_ANY); //自动获取IP地址,也可改成inet_addr("172.24.64.1")
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 %dn", strLen);
printf("buffer[0]%dn", buffer[0]);
printf("buffer[0]%dn", buffer[1]);
printf("buffer[0]%dn", buffer[2]);
printf("buffer[0]%dn", buffer[3]);
//sendto(sock, buffer, strLen, 0, &clntAddr, nSize);
}
closesocket(sock);
WSACleanup();
return 0;
}
网络调试助手设置
因为代码中绑定了ip地址和端口,因此在网络调试助手设置的目标机地址和端口需要设置的和代码中一样。
代码中设置为:
servAddr.sin_addr.s_addr = htonl(INADDR_ANY); //自动获取IP地址,也可改成inet_addr("172.24.64.1")
servAddr.sin_port = htons(2345); //端口
因此网络调试助手中设置为:
运行代码,如下图所示:
代码端接收到了网络调试助手发送过来的数据。
最后
以上就是朴实帅哥为你收集整理的Windows下使用C语言的UDP编程接收网络调试助手发送的数据的全部内容,希望文章能够帮你解决Windows下使用C语言的UDP编程接收网络调试助手发送的数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复