20092100217奚伟杰互联网实验报告

20092100217奚伟杰互联网实验报告

ID:20102585

大小:57.77 KB

页数:8页

时间:2018-10-09

20092100217奚伟杰互联网实验报告_第1页
20092100217奚伟杰互联网实验报告_第2页
20092100217奚伟杰互联网实验报告_第3页
20092100217奚伟杰互联网实验报告_第4页
20092100217奚伟杰互联网实验报告_第5页
资源描述:

《20092100217奚伟杰互联网实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、华南师范大学本科学生实验报告姓名:奚伟杰院系:计算机学院专业:网络工程7班学号:20092100217实验时间:2011年10月22日实验名称:SOCKET网络程序设计华南师范大学教务处编印华南师范大学本科学生实验报告实验课程:互联网原理与应用实验名称:SOCKET网络程序设计一、实验目标:a、进一步掌握UDP及TCP协议的工作原理b、掌握SOCKET编程的基本方法c、学习应用C语言与WinSock2进行简单的无连接的网络程序设计,实现网络数二、实验原理:1、关于使用套接字编程的一些基本概念(a)半相关与全相关(b)TCP/IP协议的地址结构str

2、uctsockaddr_in{shortsin_family;/*AF_INET*/u_shortsin_port;/*16位端口号,网络字节顺序*/structin_addrsin_addr;/*32位IP地址,网络字节顺序*/charsin_zero[8];/*保留*/}(c)套接字类型TCP/IP的socket提供下列三种类型套接字。流式套接字(SOCK_STREAM)、数据报式套接字(SOCK_DGRAM)原始式套接字(SOCK_RAW)(d)基本套接字系统调用(1)创建套接字──socket()(2)指定本地地址──bind()(3)建立

3、套接字连接──connect()与accept()(4)监听连接──listen()(5)数据传输──send()与recv()(6)输入/输出多路复用──select()(7)关闭套接字──closesocket()2、用于无连接协议(如UDP)的SOCKET系统调用流程框图3、面向连接协议(如TCP)的SOCKET系统调用流程框图三、实验设备及材料:计算机、路由器四、实验流程或装置示意图a、用于无连接协议(如UDP)的SOCKET系统调用流程框图:Socket()Bind()等待来自客户的数据recvfrom()sendto()数据处理服务员数

4、据(请求)数据(回答)Socket()sendto()recvfrom()客户bind()b、面向连接协议(如TCP)的SOCKET系统调用流程框图Listen()Socket()Bind()等待来自客户的连接请求accept()send()recv()数据处理服务员建立连接数据(请求)数据(回答)send()Socket()connect()recv()客户四、实验步骤:使用UDP协议的无连接客户-服务员程序设计。根据实验原理中介绍的内容,设计一个无连接的客户-服务员系统,实现二者之间的数据传递。四、实验程序:客户端程序:#include

5、io.h>#include#defineSERV_UDP_PORT8888/*服务员进程端口号,视具体情况而定*/#defineCLIENT_UDP_PORT8080#defineSERV_HOST_ADDR"193.169.1.41"/*服务员地址,视具体情况而定*/#defineCLIENT_HOST_ADDR"193.169.1.42"#defineSERVER_ADD0xc1a90134#defineCLIENT_ADD0xc1a90133#pragmacomment(lib,"ws2_32.lib")/*宏定义用来打

6、印错误消息*/#definePRINTERROR(s)fprintf(stderr,"%:%d",s,WSAGetLastError())//////////////////////////////////////////////////////////////数据报通信的客户端子程序//////////////////////////////////////////////////////////////voidDatagramClient(shortnPort){SOCKETtheSocket;/*创建一个数据报类型的socket*/

7、theSocket=socket(AF_INET,//地址族SOCK_DGRAM,//socket类型IPPROTO_UDP);//协议类型:UDP/*错误处理*/if(theSocket==INVALID_SOCKET){PRINTERROR("socket()");return;}/*填写客户端地址结构*/SOCKADDR_INsaClient;saClient.sin_family=AF_INET;saClient.sin_addr.s_addr=inet_addr(CLIENT_HOST_ADDR);//由WinSock指定地址saClie

8、nt.sin_port=htons(nPort);//客户端进程端口号/*将客户端地址与已创建的socket绑定*/int

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

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

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