zoukankan      html  css  js  c++  java
  • UDP网络通信程序

    //服务器端
    #include "Winsock2.h"  
    #include "stdio.h"  
    
    #pragma comment(lib, "ws2_32.lib")  
    
    int main()
    {
    
    	////////////////////////////////////////加载套接字////////////////////////////////////////////////////  
    	WORD wVersionRequested;//套接字库版本号  
    	WSADATA wsaData;
    	int err;
    
    	wVersionRequested = MAKEWORD(2, 2);//定义套接字的版本号  
    
    	err = WSAStartup(wVersionRequested, &wsaData);//创建套接字  
    	if (err != 0) {
    		return 0;
    	}
    	///创建套接字失败处理  
    	if (LOBYTE(wsaData.wVersion) != 2 ||
    		HIBYTE(wsaData.wVersion) != 2)
    	{
    		WSACleanup();
    		return 0;
    	}
    
    	SOCKET SrvSock = socket(AF_INET, SOCK_DGRAM, 0);//创建套接字  
    	SOCKADDR_IN SrvAddr;
    	SrvAddr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");//绑定服务端IP地址  
    	SrvAddr.sin_family = AF_INET;//服务端地址族  
    	SrvAddr.sin_port = htons(6001);//绑定服务端端口号  
    
    	bind(SrvSock, (SOCKADDR*)&SrvAddr, sizeof(SOCKADDR));
    
    	int len = sizeof(SOCKADDR);
    	char buff[100];
    	SOCKADDR ClistAddr;
    
    	recvfrom(SrvSock, buff, 100, 0, (SOCKADDR*)&ClistAddr, &len);//等待接收客户端的请求到来  
    	printf("%s
    ", buff);//把客户端发送来的buff信息打印出来  
    
    	closesocket(SrvSock);//关闭套接字  
    	WSACleanup();
    
    
    	system("pause");
    	return 0;
    }
    

      

    //客户端程序
    #include "Winsock2.h"  
    #include "stdio.h"  
    
    #pragma comment(lib, "ws2_32.lib")  
    
    int main()
    {
    
    	////////////////////////////////////////加载套接字////////////////////////////////////////////////////  
    	WORD wVersionRequested;//套接字库版本号  
    	WSADATA wsaData;
    	int err;
    
    	wVersionRequested = MAKEWORD(2, 2);//定义套接字的版本号  
    
    	err = WSAStartup(wVersionRequested, &wsaData);//创建套接字  
    	if (err != 0) {
    		return 0;
    	}
    	///创建套接字失败处理  
    	if (LOBYTE(wsaData.wVersion) != 2 ||
    		HIBYTE(wsaData.wVersion) != 2)
    	{
    		WSACleanup();
    		return 0;
    	}
    
    	SOCKET ClistSock = socket(AF_INET, SOCK_DGRAM, 0);//创建套接字类型  
    
    	SOCKADDR_IN SrvAddr;
    	SrvAddr.sin_family = AF_INET;//选择地址族  
    	SrvAddr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");//服务端的IP地址  
    	SrvAddr.sin_port = htons(6001);//服务端的端口号  
    
    	sendto(ClistSock, "hello", strlen("hello") + 1, 0, (SOCKADDR*)&SrvAddr, sizeof(SOCKADDR));//往服务端发送"hello"消息  
    	closesocket(ClistSock);//关闭套接字  
    	WSACleanup();//  
    
    	return 0;
    }
    

      

  • 相关阅读:
    CRC16冗余循环检测计算器好用。modbus RTU
    WINCC 应用与提高(78讲15.98G)视频教程网盘下载
    MFC win32 API串口同步模式代码示范
    arduino连接12864LCD方法ST7920
    arduino连接LCD1602LCD方法
    WIN10下如何解决PL2303驱动不可用的问题或者com口显示黄色感叹号usbtoserial
    SQL Server类型与C#类型对应关系
    SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问 .
    sql中如何调用另一台服务器的数据库查询数据呢?
    SQL Server 触发器
  • 原文地址:https://www.cnblogs.com/chankeh/p/6858861.html
Copyright © 2011-2022 走看看