欢迎来到天天文库
浏览记录
ID:30429134
大小:23.81 KB
页数:22页
时间:2018-12-29
《网络通信编程实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划网络通信编程实验报告 网络编程 课程设计报告 题目: 姓名: 学院: 专业: 班级:学号:指导教师:基于Linux网络聊天室的设计陈佳悦陈雄兰信息科学技术学院网络工程网络工程薛卫职称:副教授 基于Linux网络聊天室的设计 摘要:本课程设计是在Linux环境下基于Socket进行开发的。系统服务器端和客户端组成。服务端程序通过共享存储区存储聊天数据,并发送给每个连接的客户端。通过多路复用的
2、子进程实现服务端与多个客户端之间的数据发送与接收。可以在单机上开辟两个窗口分别运行客户、服务器的程序。本方案经gcc调试器调试成功,可以在机网络聊天中使用。 关键词:网络聊天;linux;socket 1.相关概念及技术 网络套接字编程目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 套接字基本概念 套接字是通信的基石,
3、是支持TCP/IP协议的网络通信的基本操作单元。可以将套接字看作不同主机间的进程进行双向通信的端点,它构成了单个主机内及整个网络间的编程界面。套接字存在于通信域中,通信域是为了处理一般的线程通过套接字通信而引进的一种抽象概念。套接字通常和同一个域中的套接字交换数据。各种进程使用这个相同的域互相之间用Internet协议簇来进行通信。 套接字工作原理 要通过互联网进行通信,你至少需要一对套接字,其中一个运行于客户机端,我们称之为ClientSocket,另一个运行于服务器端,我们称之为ServerSocket。根据
4、连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。 所谓服务器监听,是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。 所谓客户端请求,是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的
5、专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 所谓连接确认,是指当服务器端套接字监听到或者说接收到客户端套接字的连接请求,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接 字的描述发给客户端,一旦客户端确认了此描述,连接就建立好了。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。 linux中socket的基本应用: 服务端建立套接字的大致步骤: (1)建立socket
6、。 (2)bindPort绑定特定的端口。 (3)listen监听特定的端口。 (4)accept,当有客户端连接服务器端口时,accept接收信息,并返回新的套接字描述符,提供给操作 (5)根据实际需求,write,read,send,recv等操作 (6)关闭套接字。 客户端大致步骤: 1)创建socket. 2)根据服务器地址,connect连接到特定服务器。 3)write,read等读写操作。 4)关闭套接字。 客户/服务器模型目的-通过该培训员工可对保安行业有初步了解,并感受到安保行
7、业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 应用程序之间为了能顺利地进行通信,一方通常需要处于守候状态,等待另一方请求的到来。在分布式计算中,一个应用程序被动地等待,而另一个应用程序通过请求启动通信的模式就是客户/服务器模式。 客户/服务器模型的典型运行过程包括五个主要步骤: 服务器监听相应窗口的输入。 客户机发出请求。 服务器接收到此请求。 服务器处理此请求,并将结果
8、返回给客户机。 重复上述过程,直至完成一次会话过程任务。 运作过程如下: 多路复用技术多路复用一般有以下几种技术: (1)非阻塞通信技术:将文件管道设为非阻塞通信方式,每隔一段时间对他们实行一次轮询,以判断是否可以进行读写操作。 (2)信号驱动的异步I/O技术。首先,异步I/O是基于信号机制的,并不可靠。其次,单一的信号不足以提供更多
此文档下载收益归作者所有