实验五 Socket编程代码

实验五 Socket编程代码

ID:37758088

大小:44.00 KB

页数:5页

时间:2019-05-30

实验五 Socket编程代码_第1页
实验五 Socket编程代码_第2页
实验五 Socket编程代码_第3页
实验五 Socket编程代码_第4页
实验五 Socket编程代码_第5页
资源描述:

《实验五 Socket编程代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验五Socket编程一、实验目的通过socket程序的编写、调试,掌握socket编程的基本方法,了解客户端与服务器端的特点,掌握并熟悉运用socket类与ServerSocket类。二、实验内容编写服务器端的应用程序,编写客户端的应用程序,实现服务器端与客户端的交互。三、实验步骤四、实验总结TCP协议:  服务器端:tcp_server.c  #include  #include  #include  #include  #include  int

2、main(intargc,char*argv[])  {  ints;  intfd;  intlen;  structsockaddr_inmy_addr;  //服务器网络地址结构体  structsockaddr_inremote_addr;//客户端网络地址结构体  intsin_size;  charbuf[BUFSIZ];//数据传送的缓冲区  memset(&my_addr,0,sizeof(my_addr));//数据初始化--清零  my_addr.sin_family=AF_INET;//设置为IP通信  my_addr.sin_addr.s_addr=I

3、NADDR_ANY;//服务器IP地址--允许连接到所有本地地址上  my_addr.sin_port=htons(8000);//服务器端口号  /*创建服务器端套接字--IPv4协议,面向连接通信,TCP协议*/  if((s=socket(PF_INET,SOCK_STREAM,0))<0)  {  perror("socket");  return1;  }  /*将套接字绑定到服务器的网络地址上*/  if(bind(s,(structsockaddr*)&my_addr,sizeof(structsockaddr))<0)  {  perror("bind"); 

4、 return1;  }  /*监听连接请求--监听队列长度为5*/  listen(s,5);  sin_size=sizeof(structsockaddr_in);  /*等待客户端连接请求到达*/  if((fd=accept(s,(structsockaddr*)&remote_addr,&sin_size))<0)  {  perror("accept");  return1;  }  printf("acceptclient%s",inet_ntoa(remote_addr.sin_addr));  len=send(fd,"Welcometomyserve

5、r",21,0);//发送欢迎信息  /*接收客户端的数据并将其发送给客户端--recv返回接收到的字节数,sand返回发送的字节数*/  while((len=recv(fd,buf,BUFSIZ,0))>0))  {  buf[len]='';  printf("%s",buf);  if(send(fd,buf,len,0)<0)  {  perror("write");  return1;  }  }  close(fd);  close(s);  return0;  }  客户端:tcp_client.c  #include  #inc

6、lude  #include  #include  #include  intmain(intargc,char*argv[])  {  ints;  intlen;  structsockaddr_inremote_addr;//客户端网络地址结构体  charbuf[BUFSIZ];//数据传送的缓冲区  memset(&remote_addr,0,sizeof(remote_addr));//数据初始化--清零  remote_addr.sin_family=AF

7、_INET;//设置为IP通信  remote_addr.sin_addr.s_addr=inet_addr("127.0.0.1");//服务器IP地址  remote_addr.sin_port=htons(8000);//服务器端口号  /*创建客户端套接字--IPv4协议,面向连接通信,TCP协议*/  if((s=socket(PF_INET,SOCK_STREAM,0))<0)  {  perror("socket");  return1;  }  /*将套接字绑定到服务器的网络地址上*/ 

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。