📄 client.cpp
字号:
//**********头文件*******************************************
#include "..\include\functions.h"
int main(int argc, char* argv[])
{
u_short port;
char *pszHost;
if (argc == 3) {
pszHost = argv[1];
port = atoi(argv[2]);
}
else {
printf("Usage:\t Client [hostname] [PortNO.]");
return -1;
}
system("cls");
WSADATA wsaData;
if(WSAStartup(MAKEWORD(2,1),&wsaData)!=0){
PrintTime();printf("WSAStartup failed!\n");return -1;}
char* HOSTIP=GetHostIP(); //本机IP地址
if (HOSTIP==NULL){
PrintTime();printf("Can't get host address!\n");}
SOCKET TCP_Sock;
TCP_Sock = socket(AF_INET, SOCK_STREAM, 0);
if (TCP_Sock == INVALID_SOCKET) {
PrintTime();printf("Create Socket error!\n"); return -1;}
sockaddr_in addr_srv;
addr_srv.sin_family = AF_INET;
addr_srv.sin_port = htons(port);
addr_srv.sin_addr.s_addr=inet_addr(pszHost);
if(connect(TCP_Sock, (struct sockaddr *)&addr_srv,sizeof(addr_srv))==INVALID_SOCKET){
PrintTime();printf("Can't connect server %s:%d\n",pszHost,port);return -1; }
PrintTime();printf("Connected to the server %s:%d\n",pszHost,port);
char* msg="GET UDP PORT";
int len=strlen(msg)+1;
if(send(TCP_Sock,msg,len,0)==SOCKET_ERROR ) printf("Send failed!");
PrintTime();printf("Send \"GET UDP PORT\" to the server %s:%d\n",pszHost,port);
char str_port[6];
if(recv(TCP_Sock,str_port, 6,0)==SOCKET_ERROR) printf("recv failed");
unsigned short udp_port=atoi(str_port);
PrintTime();printf("UDP Port is %d,sent from Server %s:%d by TCP\n",udp_port,pszHost,port);
printf("\nOption:\n1.Get current time(TCP)\n2.Echo Mode(UDP)\n3.Exit the program.\nInput operation number:");
int input;
scanf("%d",&input);
while (input!=1&&input!=2&&input!=3)
{
printf("Wrong number!Try again!\n");
printf("Input operation number:");
scanf("%d",&input);
}
switch(input)
{
case 1:
GetServerTime(TCP_Sock,pszHost,port);
break;
case 2:
SOCKET UDP_Sock;
if(InitSocket(UDP_Sock,HOSTIP,56103,SOCK_DGRAM)==SOCKET_ERROR) break;
UDPEcho(UDP_Sock,pszHost,udp_port);
break;
case 3:
break;
default:
break;
}
closesocket(TCP_Sock);
WSACleanup();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -