winsock2.h下载

#include <winsock2.h> /*socket通信,系统头文件*/
#include <stdio.h>
#pragma comment( lib, "ws2_32.lib" ) /*加连接库文件,实现通信的管理*/
void main()
{
WSADATA wsaData; /*存储被WSAStartup函数后返回的Windows sockets数据*/
SOCKET ClientSocket; /*客户端socket*/
SOCKADDR_IN ServerAddr; /*定义服务端socket变量*/
int ServerPort = 4000; /*服务端设置端口为4000*/
char *SendBuffer = "Hello World!"; /*发送数据*/
char ReceiveBuffer[1024] = ""; /*接收缓存*/
int Result;
/*WSAStartup是windows异步套接字启动命令;makeword创建一个WORD变量*/
if ((Result = WSAStartup(MAKEWORD(2, 2), &wsaData)) != 0)
{
printf("WSAStartup failed with error %dn", Result);
return ;
}
/*创建套接字UDP连接,AF_INET表示使用IPV4协议,SOCK_DGRAM是无连接报文类型,默认UDP协议*/
ClientSocket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
if (ClientSocket < 0)
{
printf("socket failed with error %dn", WSAGetLastError());
return ;
}
ServerAddr.sin_family = AF_INET; /*对服务器端socket通信地址结构赋值,通信域、port、address*/
ServerAddr.sin_port = htons(ServerPort);
ServerAddr.sin_addr.s_addr = inet_addr("192.168.1.9");
int len; /*sendto是UDP协议的文件传输函数,参数依次为客户端socket、发送buf、长度、调用方式标志位、目的套接字地址、长度*/
if (len = sendto(ClientSocket, SendBuffer, strlen(SendBuffer), 0, (SOCKADDR*) &ServerAddr, sizeof(ServerAddr)) < 0)
{
printf("sendto failed with error %dn", WSAGetLastError());
return ;
}
else
{
printf("Send the data:%sn", SendBuffer);
}
int FromAddrSize = sizeof(ServerAddr);
memset(ReceiveBuffer, 0, sizeof(ReceiveBuffer)); /*将ReceiveBuffer变量和ServerAddr地址变量清零*/
memset(&ServerAddr, 0, sizeof(ServerAddr));
/*接收来自客户端的数据,参数意义与sendto同*/
if (len = recvfrom(ClientSocket, ReceiveBuffer, 1024, 0, (SOCKADDR*) &ServerAddr, &FromAddrSize) < 0)
{
printf("recvfrom failed with error %dn", WSAGetLastError());
return ;
}
else
{
printf("Received Data:%s From :%sn", ReceiveBuffer, inet_ntoa(ServerAddr.sin_addr));
}
if (closesocket(ClientSocket) == SOCKET_ERROR) /*关闭客户端套接字*/
{
printf("closesocket failed with error %dn", WSAGetLastError());
}
if (WSACleanup() == SOCKET_ERROR) /*释放资源*/
{
printf("WSACleanup failed with error %dn", WSAGetLastError());
}
}建议查一下各个函数的功能,学习网络编程,msdn上看看,这是最基础的建议先学习下网络编程的相关内容,了解下各个函数作用,这段代码就不难懂拉看不懂!
卫校男生 魔女幼熙 跛豪粤语 交换的一天 田鸡影院 红娘子 教父2电影 玩尽杀绝3 间谍风一号 路从今夜白电视剧 战狼电视剧全集 缉毒英雄2 铁核桃电视剧全集 燃情狙击手 铁血使命第三部全集 吐槽大会 douyu 马苏 圆桌派 王牌御史 公牛历险记 李毅 虎牙直播 奔跑吧兄弟第五季 奥迪a7 周韦彤 十大元帅 詹姆斯 小花仙第三季 李讷

Copyright 魔方网 Some Rights Reserved

如反馈或投诉等情况联系:une35498#163.com