- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                学生学号
17
实验课成绩
学生实验报告书
实验课程名称	通信原理
开课学院
计算机科学与技术学院
指导教师姓名
刘维
学生姓名
陈鑫于
学生专业班级
软件工程1 4 0 1
2015——201 6学年 第 2 学期
?实验课程名称:	通信原理
实验项目名称
米用Winsoc艮在有线局域网上得点-点通信
实验成绩
实验者
陈鑫宇
专业班级
软件1 401
组	另U
同组者
叶旺
实验日期
年	月
日
部分 :实验预习报告(包括实验目得、意义,实验基本原理与方法	,主要仪器设备及耗材,实验方案与技术路线等 )实验目得与要求1.“采用Win so c k在有线局域网上得点一点通信”2.熟悉VB6 
部分 :实验预习报告(包括实验目得、意义,实验基本原理与方法	,主要仪器设备及耗
材,实验方案与技术路线等 )
实验目得与要求
1.
“采用Win so c k在有线局域网上得点一点通信”
2.
熟悉VB6 0得控件与界面设计,进而熟悉Win sock得有关控件及编程方法。
3.
在了解所用得两个工作站与服务器得IP地址后,采用VB6 0得控件与Win sock
控件编写并调试在有线局域网上得点-点通信程序。
4.
具有点对点通信功能,任意客户端之间能够发送消息。
LigtenQ
Accept)
Get DgitfrO j-* 处理连
眼务
SendDftt()
JW?
Get DtaO
编译语言与环境
1、编程语言C/C+ +等均可;本次实验采用C ++语言版本 2、安装v s201 5或更高版本得 Windows系统pc机
客户SocketQ
更1 面向连接的点到 点?通伯流稗图
网络编程就是通过使用套接字来达到进程间通信目得得编程	‘Socket编程就
是网络编程得主流工具,Sock et AP I就是实现进程间通信得一种编程设施,也
就是一种为进程间提供底层抽象得机制,提供了访问下层通信协议得大量系统调用 与相应得数据结构。具体流程如上图所示
1、建立连接 1)服务程序调用socke t创建一个新得套接字,并在传输层实体中分配表空间,返
回一个文件描述符用于以后调用中使用该套接字	;调用b 1 n d将一个地址赋予
该套接字,使得远程客户程序能访问该服务程序;调用lis t en分配数据空间, 以便存储多个用户得连接建立请求;调用accep t将服务程序阻塞起来,等待接 收客户程序发来得连接请求.当传输层实体接收到建立连接得 TPD U时,新创建 一个与原来得套接字相同属性得套接字并返回其文件描述符。服务程序创建一 个子进程处理此次连接,然后继续等待发往原来套接字得连接请求。
2)客户程序调用socke t创建一个新得套接字,并在传输层实体中分配表空间,返 回一个文件描述符用于在以后得调用中使用该套接字	;调用c onn e c t阻塞客
户程序,传输层实体开始建立连接,当连接建立完成时,取消阻塞;
2、	数据传输
双方使用s en d与r ecei v e完成数据得全双工发送。
3、	释放连接
每一方使用close原语单独释放连接。
关键代码示例:
服务器端:
//定义服务器端so ck et
sockServ e r = soc k e t (AF_I NET , SOCK_ S TR E AM,0 );
/ /设置服务器端s ock et
^addrServ e r、sin_a d d rS _un、S_addr = h to n l( I NAD D R_A N Y); //本机 I P
?a dd r Servers in_fa mi ly = A F_ I N E T;
a ddr S e r ver、sin_port = hto ns(6000);
2//将服务器so ck et绑定在本地端口
b i nd (s ockServer,	(SOCK ADDR *) addrSe r ve r,	siz eo f(SOCKAD D R));
//L isten监听端口
? is ten (soc kSer v er,	10); //I 0 为等待连接数目
p rintf(”服务器已启动:\n监听中、、、n”);
?en = sizeof (SOCKADDR);
?whi le (1)
g
?/accep t会阻塞进程,直到有客户端连接上来为止
?sockC lient = acc ept (sock Server , (SOCKA DD R*) a ddrC lien t, le n );
??当客户端连接上来时,拼接字符串
?spri nt f (s endBuf, ”欢迎i p:%s得用户连接,这里就是陈鑫宇得服务器,欢迎使用
\ n”, ine t _ntoa(addrCl i ent sin _addr));
                 原创力文档
原创力文档 
                        

文档评论(0)