📄 socket.c
字号:
#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <string.h>#include <errno.h>#include <sys/types.h>#include <sys/stat.h>#include <signal.h>#include <sys/ipc.h>#include <sys/sem.h>#include <sys/shm.h>#include <netdb.h>#include <netinet/in.h>#include <sys/socket.h>#define SERVER_PORT 3332#define MAX_LINE 256int main(int argc,char *argv[]){ FILE *fp; struct hostent *hp; struct sockaddr_in sin; char *host; char buf[MAX_LINE]; int s; int len; if(argc == 2) { host = argv[1]; } else { fprintf(stderr,"usage: simplex-talk host\n"); exit(1); } hp = gethostbyname(host); if(!hp) { fprintf(stderr,"unknow host:%s\n",host); exit(1); } bzero((char *)&sin,sizeof(sin)); sin.sin_family = AF_INET; bcopy(hp->h_addr,(char *)&sin.sin_addr,hp->h_length); sin.sin_port = htons(SERVER_PORT); if((s = socket(PF_INET,SOCK_STREAM,0)) < 0) { perror(":socket"); exit(1); } if(connect(s,(struct sockaddr *)&sin,sizeof(sin)) < 0) { perror("connect"); close(s); exit(1); } while(fgets(buf,sizeof(buf),stdin)) { buf[MAX_LINE-1]='\0'; len = strlen(buf)+1; send(s,buf,len,0); } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -