📄 client.c
字号:
/*********************客户端*************************************************/
//client.c
//#include <stdio.h>
//#include <winsock2.h>
//#include <string.h>
//#include <conio.h>
#include "../lib/myinclude.h"
int client;
//WSADATA WSAData;
int WSAreturn;
struct sockaddr_in to;
char information[256];
char welcome[]="wo yi jing deng lu dao ni de zhu ji!\n";
char receive[256];
char chatto[256];
char servername[256];
char chatfrom[256];
char c;
long result;
int cansend = 1;
////////////////////////////////连接函数////////////////////////////////////////////
int connection()
{
client = socket(AF_INET,SOCK_STREAM,0);
to.sin_family = AF_INET;
to.sin_port = htons(SERV_PORT);
while(1) {
printf("Please enter the server IP:");
scanf("%s",&servername);
to.sin_addr.s_addr = inet_addr(servername);
printf("正在连接...\n");
result = connect(client,(struct sockaddr *)&to,sizeof(to));
if(result == -1) { // 连接失败
printf("对不起,无法连接到目标主机!\n");
return 0;
}
else {
cansend = 0;
recv(client,receive,sizeof(receive),0);
printf("*******欢迎消息消息*******\n");
printf("%s\n",receive);
printf("***********结束*********\n");
cansend = 1;
while(1) {
if(cansend) {
printf("请输入下一条信息:");
scanf("%s\0",&chatto);
send(client,chatto,strlen(chatto),0);
printf("\n已经成功发送信息!\n");
cansend = 0;
}
else {
printf("正在等待对方发来消息...\n");
cansend = 0;
recv(client,chatfrom,sizeof(chatfrom),0);
printf("*******接收到的消息*******\n");
printf("%s\n",chatfrom);
printf("***********结束*********\n");
cansend = 1;
}
}
}
}
closesocket(client);
return 1;
}
//////////////////////客户端主函数///////////////////////////////////////////
int main()
{
connection();
getchar();
}
//local.sin_port = htons((u_short)23);
//端口 23 一般保留给 telnet 用的,最好 1024 以下的端口都不要用,
//unix 系统会要求 root 才能绑定的 (当然 Windows 不会有这个要求)。
//建议用户可自己设置端口。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -