📄 client.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 + -