socket(UDP)客户端程序

#include <Winsock2.h>
#include <stdio.h>
void main()
{
	WORD wVersionRequested;
	WSADATA wsaData;
	int err;
	wVersionRequested = MAKEWORD( 1, 1 );//版本号1.1
//1.加载套接字库	
	err = WSAStartup( wVersionRequested, &wsaData );
	if ( err != 0 ) {
		return;	}//endof if
	//判断是否我们请求的winsocket版本,如果不是
	//则调用WSACleanup终止winsocket的使用并返回
	if ( LOBYTE( wsaData.wVersion ) != 1 ||
        HIBYTE( wsaData.wVersion ) != 1 ) {
		WSACleanup( );
		return; 	}///endof if
//2.创建套接字
	SOCKET sockClient = socket(AF_INET,SOCK_DGRAM,0);
//2.发送消息
	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);
	sendto(sockClient,"hello",strlen("hello")+1,0,
		(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
	closesocket(sockClient);
	WSACleanup();
}//endof main()


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于csocketUDP客户端程序设计可以通过以下步骤完成: 1. 引入csocket库:首先需要引入csocket库,该库提供了与网络通信相关的函数和结构体。 2. 创建UDP套接字:使用socket函数创建一个UDP套接字,该套接字将用于发送和接收UDP数据报。 3. 设置服务器的地址和端口:使用结构体sockaddr_in设置服务器的IP地址和端口号。 4. 绑定套接字:使用bind函数将套接字与本地的IP地址和端口号绑定。 5. 向服务器发送数据:使用sendto函数将数据报发送给服务器,其中包括要发送的数据和服务器的地址和端口号。 6. 接收服务器数据:使用recvfrom函数接收服务器发送回来的数据报,其中包括数据和服务器的地址和端口号。 7. 处理接收到的数据:对接收到的数据进行相应的处理,例如输出到屏幕上。 8. 关闭套接字:使用close函数关闭UDP套接字。 下面是一个简单的UDP客户端程序示例: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> #define MAX_BUFFER_SIZE 1024 int main() { int sockfd; char buffer[MAX_BUFFER_SIZE]; struct sockaddr_in server_addr; // 创建UDP套接字 sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); // 设置服务器的地址和端口 server_addr.sin_family = AF_INET; server_addr.sin_port = htons(12345); // 假设服务器端口号为12345 server_addr.sin_addr.s_addr = inet_addr("服务器IP地址"); // 假设服务器IP地址为xxx.xxx.xxx.xxx // 向服务器发送数据 strcpy(buffer, "Hello Server!"); sendto(sockfd, buffer, strlen(buffer), 0, (struct sockaddr *)&server_addr, sizeof(server_addr)); // 接收服务器数据 memset(buffer, 0, MAX_BUFFER_SIZE); recvfrom(sockfd, buffer, MAX_BUFFER_SIZE, 0, NULL, NULL); // 处理接收到的数据 printf("Received from server: %s\n", buffer); // 关闭套接字 close(sockfd); return 0; } ``` 以上是一个简单的基于csocketUDP客户端程序设计。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值