⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 talk_tcp_cl.c

📁 unix/linux使用socket编程的一个具体示例
💻 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 + -