📄 tcpchat.c
字号:
#include <stdio.h>#include <string.h>#include <netinet/in.h>#include <errno.h>#define HOST_ADDR "192.168.1.100"#define PORT 9999main(){ struct sockaddr_in client,server,server1; int s,ns,s1,namelen,pktlen,buflen; char buf[256],buf1[256],buf2[256]; s=socket(AF_INET,SOCK_STREAM,0); memset((char *)&server,sizeof(server),0); server.sin_family=AF_INET; server.sin_port=htons(PORT); server.sin_addr.s_addr=INADDR_ANY; s1=socket(AF_INET,SOCK_STREAM,0); server1.sin_family=AF_INET; server1.sin_port=htons(PORT); server1.sin_addr.s_addr=inet_addr(HOST_ADDR); bind(s,(struct sockaddr *)&server,sizeof(server)); listen(s,1); printf("正在和对方建立连接……\n"); for(;connect(s1,(struct sockaddr *)&server1,sizeof(server1))<0;); printf("连接成功!\n"); namelen=sizeof(client); ns=accept(s,(struct sockaddr *)&client,&namelen); for(;;) { pktlen=recv(ns,buf,sizeof(buf),0); buflen=strlen(buf1); while(buflen==0 && pktlen==0) { printf("输入内容:"); gets(buf1); buflen=strlen(buf1); } if(buflen==0 && pktlen!=0) { printf("对方说: %s\n",buf); printf("输入内容:"); gets(buf1); buflen=strlen(buf1); } if(buflen!=0 && pktlen==0) { send(s,buf1,buflen+1,0); printf("你说: %s\n",buf1); printf("输入内容:"); gets(buf1); buflen=strlen(buf1); } if(buflen!=0 && pktlen!=0) { send(s,buf1,buflen+1,0); printf("对方说: %s\n",buf); printf("你说: %s\n",buf1); printf("输入内容:"); gets(buf1); buflen=strlen(buf1); } } close(ns); close(s); close(s1);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -