1. 程式人生 > >UDP網絡通信程序

UDP網絡通信程序

start inet_addr 接收 star sts lists list brush ket

//服務器端
#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\n", 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;
}

  

UDP網絡通信程序