- 40
- 0
- 约 11页
- 2016-04-14 发布于重庆
- 举报
《网络编程技术》实验指导书
《计算机网络》课程设计--协议设计与编码实现
指导书
?
?
?
?
?
实验1. Windows平台简单套接字编程
实验类型:设计性
一、实验环境
操作系统:Windows
编程工具及集成开发环境:VC++
二、实验目的和要求
实验目的:掌握Windows平台上简单的客户机端和服务器端的套接字编程。
实验要求:
(1)在Windows上,编写、编译1个客户机端程序和1个服务器端程序。要求客户机端程序能发送请求给服务器端程序,服务器端程序收到后能发送本机时间给客户机端程序。
(2)在相同或不同机子上,先运行服务器端程序可执行文件,后运行客户机端程序可执行文件。
TCP/UDP赋予每个服务一个唯一的协议端口号。服务器程序通过协议端口号来指定它所提供的服务,然后被动地等待通信。客户在发送连接请求时,必须说明服务器程序运行主机的IP地址和协议端口号来指定它所希望的服务。服务器端计算机通过此端口号将收到的请求转向正确的服务器程序。
大多数网络编程语言都提供或者使用控件封装了套接字应用程序接口(Socket API),应用程序通过套接字接口调用来实现和传输层交互。用户目前可以使用两种套接口,即流套接字TCP和数据报套接字UDP。流式套接字定义了一种可靠的面向连接的服务,提供了双向的,有序的,无重复的数据流服务。数据报套接字定义了一种无连接的服务,支持双向的数据流,但并不保证是可靠,有序,无重复的。也就是说,一个从数据报套接字接收信息的进程有可能发现信息重复了,或者和发出时的顺序不同。
套节字API主要包括表1所示的接口。
使用面向连接的套接字编程,通过图2来表示其时序。套接字工作过程如下:服务器首先启动,通过调用socket()建立一个套接字,然后调用bind()将该套接字和本地网络地址联系在一起,再调用listen()使套接字做好侦听的准备,并规定它的请求队列的长度,之后就调用accept()来接收连接。客户在建立套接字后就可调用connect()和服务器建立连接,连接一旦建立,客户机和服务器之间就可以通过调用read()和write()来发送和接收数据。最后,待数据传送结束后,双方调用close()关闭套接字。
表1 套节字API主要接口
接口 解释 SOCKET
BIND
LISTEN
ACCEPT
CONNET
SEND
RECV
CLOSE 创建一个新的套接字
给服务器绑定一个传输层地址
将服务器设为被动模式
接收客户的一个请求
客户向服务器发起连接
向一个连接的套接字发送数据
从一个连接的套接字接收数据
终止一个连接
图1 面向连接套接口应用程序时序图
实验2. 并发套接字编程
实验类型:设计性
一、实验环境
操作系统:Windows或Linux
编程工具及集成开发环境:VC++
二、实验目的和要求
实验目的:掌握Linux或Windows平台上多线程、多进程或异步I/O的套接字编程。
实验要求:
(1)在Windows上,编写、编译1个客户机端程序和1个服务器端程序。要求客户机端程序能发送请求给服务器端程序,服务器端程序收到后能发送本机时间给客户机端程序。
(2)在相同或不同机子上,先运行服务器端程序可执行文件,后运行客户机端程序可执行文件。
可选内容:
(1)编写Linux或Windows平台上采取各并发方式的1种程序。
(2)测试多线程、多进程或异步I/O的性能。
三、实验提示
(1)多线程程序编译连接需要用-pthread选项
创建TCP并发服务器的算法如下: ??? socket(……); //创建一个TCP套接字 ??? bind(……);??? //邦定公认的端口号 ??? listen(……);//倾听客户端连接 ??? while(1)?????? //开始循环接收客户端的接收 ?? { ??????????????? accept(……);//接收一个客户端的连接 ??????????????? if(fork(……)==0)? //创建子进程 ??????????????? {??????????????????? ???????????????????????? while(1) ???????????????????????????? {???????????? //子进程处理某个客户端的连接 ?????????????????????????????????? read(……); ?????????????????????????????????? process(……); ?????????????????????????????????? write(……); ????????????????????????????? } ????????
您可能关注的文档
- 《破坏者》详细图文全流程攻略.doc
- 《祝福》导学案(教师版).doc
- 《税务会计》第03章在线测试.doc
- 《税务稽查方法与案例练习》2涉税会计核算1.doc
- 《空气调节》(第四版赵荣义)复习提纲.doc
- 《窃核风云》全攻略.doc
- 《窦娥冤》教学设计及课堂实录.doc
- 《童年》阅读训练(含答案).doc
- 《第11章多彩的物质世界》2010年练习题.doc
- 《第12课美国的诞生》(学案+习题含答案).doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 交流转辙机道岔动作电流故障曲线分析信号集中监测课件.pptx VIP
- 2025届东北三省三校高三下学期第一次联合模拟考试政治试题(原卷版+解析版).docx VIP
- 养老服务质量检测90项.pdf VIP
- 光谱分析图谱与标志.docx
- 2025新课标中考英语词汇.pdf VIP
- T_CNPHARS 0001-2025 群体药动学药效学分析标准操作规范.pdf VIP
- (2026年)血浆置换及血浆分离吸附护理要点PPT课件.pptx VIP
- 农村狗狗交配的全过程,让你看了有点不可置信.pdf VIP
- 医院培训课件:《死亡医学证明(推断)书》规范填写及死因链基础知识.pptx VIP
- 健康体检表样表最新文档.docx VIP
原创力文档

文档评论(0)