⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.c

📁 简单的udp发送程序
💻 C
字号:
//客户端的应用程序
//

#include <winsock2.h>
#include <stdio.h>
#define DATA "2ello,world!"

void main(argc,argv)
int argc;
char *argv[];
{
	int sockid; //socket号
	struct sockaddr_in server_addr; //服务器的地址结构
    
	//////////以下代码是对socket版本号的处理////////////
    //进行协商
	WORD wVersionRequested;
	WSADATA wsaData;
	//使要求的版本为1.1
	int err;
	wVersionRequested=MAKEWORD(1,1);
	err=WSAStartup(wVersionRequested, &wsaData);
	if (err!=0)
	{
		//用户没有找到一个可以使用的DLL,返回
		perror("there is no DLL to use");
		return;
	}

	//确保Windows Sockets DLL支持1.1。
	if ( (LOBYTE(wsaData.wVersion)!=1) || (HIBYTE(wsaData.wVersion)!=1) )
	{
		perror("there is not right DLL");
		WSACleanup();
		return;
	}
	///////////socket版本号处理完毕////////////
	
	//建立Socket
	sockid=socket(AF_INET,SOCK_STREAM,0);
    if (sockid<0)
	{
		perror("there is error in opening stream socket,fuck you");
	    return;
	}
   	
	//得到命令行中指定的名字连接socket
	server_addr.sin_family=AF_INET;
	server_addr.sin_addr.s_addr = inet_addr("192.168.17.17");
	server_addr.sin_port=htons(5050);;
	
	//进行连接
	if(connect(sockid,(struct sockaddr*)&server_addr,sizeof(server_addr))<0)
	{
		//Sleep(5000);
		perror("there is error in connecting stream socket");
		return;
	}

	//进行发送数据
	if ((send(sockid,DATA,sizeof(DATA),0))<0)
	{
		perror("there is error in sending the data");
        return;
	}
    else
	{
		printf("Sending successfully.");
	}
    
	//关闭socket
	closesocket(sockid);
	WSACleanup();
    return;
		
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -