c语言下进行socket通信

c语言下进行socket通信

ID:40535538

大小:32.50 KB

页数:5页

时间:2019-08-04

c语言下进行socket通信_第1页
c语言下进行socket通信_第2页
c语言下进行socket通信_第3页
c语言下进行socket通信_第4页
c语言下进行socket通信_第5页
资源描述:

《c语言下进行socket通信》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、项目总结:c语言下进行socket通信最近实验室里在忙四方这个项目,自己感觉挺惭愧的,本来大家大上个周末就已经基本结束了,贾导儿的"五喜临门“酒也都喝了,但是由于自己的原因整体测试一直拖到今天才开始。呜呜,拖组织后腿了。。。。检讨一下。       程序还不是很完美,需要在测试中进一步完善。今天只是介绍一下,c语言在linux下实现socket通信的基础知识。       关于如何在java下建立socket通信,实验室中的牛人已经在博客中总结了,在这里不多说。其实c语言也是一样的道理,在服务器和客户端的例子步骤分别如下:服务器:1、/

2、*创建socketsocket()*/2、/*将套接字与端口帮定bind()*/3、/*监听listen()*/4、/*(接受客户端的connect连接)accept()*/5、接收数据6、关闭socket,客户端:1、/*socket()建立套接字*/2、/*connect()请求连接*/3、/*send数据*/4、关闭close();下面使自己改的网上的一个程序例子:服务器:#include#include#include#include#include

3、ys/types.h>#include#include#include#defineMYPORT3999//listeningport#defineBACKLOG10//maxconnectrequests#defineMAXDATASIZE100/*maxdatavolume*/main(){intsock_fd,new_fd,numbytes;/*sock_fd:listeningsocket;new_fd:datasocket*/structsocka

4、ddr_inmy_addr;/*serveraddress*/structsockaddr_intheir_addr;/*clientaddress*/intsin_size;charbuf[MAXDATASIZE];/*创建socketsocket()*/if((sock_fd=socket(AF_INET,SOCK_STREAM,0))==-1){  perror("socketcreateerror");  exit(1);  }my_addr.sin_family=AF_INET;  my_addr.sin_port=htons

5、(MYPORT);  my_addr.sin_addr.s_addr=INADDR_ANY;  bzero(&(my_addr.sin_zero),8);/*将套接字与端口帮定bind()*/if(bind(sock_fd,(structsockaddr*)&my_addr,sizeof(structsockaddr))==-1){  perror("binderror");  exit(1);}/*监听listen()*/if(listen(sock_fd,BACKLOG)==-1){  perror("listenerror"); 

6、 exit(1);}/*接受accept()*/while(1){  sin_size=sizeof(structsockaddr_in);  if((new_fd=accept(sock_fd,(structsockaddr*)&their_addr,&sin_size))==-1)  {   perror("accepterror");   continue;  }    printf("receivedaconnectfrom:%s",inet_ntoa(their_addr.sin_addr));/*创建新的子进程*/if(

7、(numbytes=recv(new_fd,buf,MAXDATASIZE,0))==-1)   {  perror("recverror");   exit(1);   }  buf[numbytes]='';  printf("Received:%s",buf);  close(new_fd);  /*cleanupchildprocesses*/  while(waitpid(-1,NULL,WNOHANG)>0);}}客户端:#include#include#include

8、h>#include#include#include#include#include#

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

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

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