1 / 14
文档名称:

网络编程实验报告.docx

格式:docx   大小:20KB   页数:14页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

网络编程实验报告.docx

上传人:rsqcpza 2019/2/23 文件大小:20 KB

下载得到文件列表

网络编程实验报告.docx

文档介绍

文档介绍:网络编程实验报告网络编程课程设计报告题目: 姓名: 学院: 专业: 班级:学号:指导教师:基于Linux网络聊天室的设计陈佳悦陈雄兰信息科学技术学院网络工程网络工程薛卫职称:副教授基于Linux网络聊天室的设计摘要:本课程设计是在Linux环境下基于Socket进行开发的。系统服务器端和客户端组成。服务端程序通过共享存储区存储聊天数据,并发送给每个连接的客户端。通过多路复用的子进程实现服务端与多个客户端之间的数据发送与接收。可以在单机上开辟两个窗口分别运行客户、服务器的程序。调试器调试成功,可以在机网络聊天中使用。关键词:网络聊天;linux;socket ,是支持TCP/IP协议的网络通信的基本操作单元。可以将套接字看作不同主机间的进程进行双向通信的端点,它构成了单个主机内及整个网络间的编程界面。套接字存在于通信域中,通信域是为了处理一般的线程通过套接字通信而引进的一种抽象概念。套接字通常和同一个域中的套接字交换数据。协议簇来进行通信。套接字工作原理要通过互联网进行通信,你至少需要一对套接字,其中一个运行于客户机端,我们称之为ClientSocket,另一个运行于服务器端,我们称之为ServerSocket。根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。所谓服务器监听,是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。所谓客户端请求,是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。所谓连接确认,是指当服务器端套接字监听到或者说接收到客户端套接字的连接请求,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,连接就建立好了。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。 linux中socket的基本应用: 服务端建立套接字的大致步骤: (1)建立socket。(2)bindPort绑定特定的端口。(3)listen监听特定的端口。(4)accept,当有客户端连接服务器端口时,accept接收信息,并返回新的套接字描述符,提供给操作(5)根据实际需求,write,read,send,recv等操作(6)关闭套接字。客户端大致步骤: 1)创建socket. 2)根据服务器地址,connect连接到特定服务器。 3)write,read等读写操作。 4)关闭套接字。客户/服务器模型应用程序之间为了能顺利地进行通信,一方通常需要处于守候状态,等待另一方请求的到来。在分布式计算中,一个应用程序被动地等待,而另一个应用程序通过请求启动通信的模式就是客户/服务器模式。客户/服务器模型的典型运行过程包括五个主要步骤: 服务器监听相应窗口的输入。客户机发出请求。服务器接收到此请求。服务器处理此请求,并将结果返回给客户机。重复上述过程,直至完成一次会话过程任务。运作过程如下: 多路复用技术多路复用一般有以下几种技术: (1)非阻塞通信技术:将文件管道设为非阻塞通信方式,每隔一段时间对他们实行一次轮询,以判断是否可以进行读写操作。(2)信号驱动的异步I/O技术。首先,异步I/O是基于信号机制的,并不可靠。其次,单一的信号不足以提供更多的信息来源。还是需要辅助以其他的手段,实现有很高的难度。(3)select()技术。在BSD中提供了一种可以对多路I/O进行阻塞式查询的方法—select()。它提供同时对多个I/O描述符进行阻塞式查询的方法。(4)子进程技术。应用多个子进程,每一个对一个单工阻塞方式通信。所有子进程通过IPC和父进程进行通信。父进程掌管所有信息。该聊天室即采用此种子进程技术。相关函数调用(1)Socket() 作用:socket函数为客户机或服务器创建一个sokcet 格式:intsocket(intfamily,inttype,intprotocol); 参数说明: Family:表示地址族,可以去AF_UNLX和AF_INT。其中,AF_UNLX只能够用于单一的UNIX系统进程间通信;的,因而可以允许在远程主机之间通信,实验中使用AF_INT。 Type:网络程序所采用的通信协议,可以取SOCK_STREAM或SOCK_DGRAM。其中,SOCK_STREAM表明使用的是TCP协议,这样提供按顺序的、可靠的、双向、面向连接的比特流;SOCKE_DGRAM表明使用的是UDP协议,这样只会提供定长、不可靠、无连接的通信。 bind() 格式:i

最近更新

2024年内蒙古包头市直事业单位招聘570人历年高.. 176页

2024年内蒙古呼伦贝尔市本级医疗卫生事业单位.. 176页

2024年内蒙古呼伦贝尔市本级医疗卫生事业单位.. 178页

2024年内蒙古商贸职业学院单招职业适应性测试.. 57页

2024年内蒙古巴彦淖尔盟选调生考试(公共基础.. 149页

2024年内蒙古法院系统招聘457名书记员历年高频.. 176页

2024年内蒙古赤峰克什克腾旗事业单位引进6人历.. 177页

2024年内蒙古赤峰市特种设备检验所招聘13人历.. 176页

2024年内蒙古通辽市科尔沁区事业单位卫生健康.. 178页

2024年内蒙古锡林郭勒事业单位招370人历年高频.. 176页

介绍项目开发方案 4页

2024年北京丰台区长辛店街道招聘社区党务专职.. 177页

2024年北京市大兴区部分事业单位招聘117人历年.. 176页

2024年北京市大兴区部分事业单位招聘117人历年.. 176页

2024年北京市昌平区事业单位招聘262人历年高频.. 176页

2024年南京旅游职业学院单招职业适应性测试题.. 58页

产品口碑策划方案 5页

产品优化奖惩方案 4页

2024年吉林省白城市行政职业能力测验题库(典.. 147页

交通疏导人员方案 4页

2024年哈尔滨电力职业技术学院单招职业适应性.. 56页

叙事护理五大步骤含义ppt 22页

M7120平面磨床的电气自动化设计 16页

医疗安全知识培训 27页

CJ∕T450-2014燃气燃烧器具气动式燃气与空气比.. 42页

剑桥雅思12(A类)高清原版 135页

2023年度四川省优秀共青团员申报表 9页

登幽州台歌教学专用分析 24页

JSA分析试题(卷)库及答案 35页

工程现场草签单 2页