📄 talk_tcp_cl.c
字号:
/*mytalk.c*/#include <stdio.h> /*fputs()*/#include <stdlib.h> /*exit()*/#include <string.h> /*memset(),atoi()*/#include <errno.h> /*strerror()*/#include <netinet/in.h> /*struct sockaddr_in,htons(),inet_addr()*/#include <sys/types.h> /*socket()*/#include <sys/socket.h> /*socket(),inet_addr()*/#include <arpa/inet.h> /*inet_addr()*/static voidmyerr(const char *on_what){ if(errno!=0){ fputs(strerror(errno),stderr); fputs(":",stderr); } fputs(on_what,stderr); fputc('\n',stderr); exit(1);}extern int read();extern int write();extern int close();int main(int argc,char **argv){ int z; /*state code of back*/ int s; /*local socket*/ char *server_ip=NULL;// char *client_ip=NULL; char *server_port="9095";// char *client_port="9096"; struct sockaddr_in server_address;// struct sockaddr_in client_address; int len_inet;// char receive_buf[512]; char send_buf[512]; if(argc>=2)server_ip=argv[1];// if(argc>=3)client_ip=argv[2]; /*creat server socket address*/ memset(&server_address,0,sizeof server_address); server_address.sin_family=AF_INET; server_address.sin_port=htons(atoi(server_port)); server_address.sin_addr.s_addr=inet_addr(server_ip); /*generat local socket*/ s=socket(PF_INET,SOCK_STREAM,0);/*creat a TCP socket*/ if(s==-1) myerr("socket()"); len_inet=sizeof server_address; z=connect(s,(struct sockaddr *)&server_address,len_inet); if(z==-1)myerr("connect(2)"); for(;;){ scanf("%s",send_buf); z=write(s, send_buf, sizeof send_buf); if(z==-1) myerr("write(2)"); } close(s); putchar('\n'); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -