网络编程课程设计报告基于linux网络聊天室设计.docx

网络编程课程设计报告基于linux网络聊天室设计.docx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络编程课程设计报告 题 目: 基于linux网络聊天室设计 姓 名: 高晓煜 学 院: 信息科学技术学院 专 业: 网络工程 班 级: 网络112班 学 号: 指导教师: 薛卫 职称: 副教授 2014 年 6 月 22 日 基于linux网络聊天室设计 摘要:本课程设计是在Linux环境下基于Socket进行开发的。系统服务器端和客户端组成。服务端程序通过共享存储区存储聊天数据,并发送给每个连接的客户端。通过多路复用的子进程实现服务端与多个客户端之间的数据发送与接收。可以在单机上开辟两个窗口分别运行客户、服务器的程序。本方案经gcc调试器调试成功,可以在机网络聊天中使用。 关键词:网络聊天;linux ;socket 1.linux中socket的基本应用: 1.1服务端建立套接字的大致步骤: (1)建立socket。 (2)bindPort 绑定特定的端口。 (3)listen 监听特定的端口。 (4)accept,当有客户端连接服务器端口时,accept接收信息,并返回新的套接字描述符,提供给操作 (5)根据实际需求,write,read,send,recv等操作 (6)关闭套接字。 1.2客户端大致步骤: (1)创建socket. (2)根据服务器地址,connect连接到特定服务器。 (3)write,read等读写操作。 (4)关闭套接字。 1.3 客户/服务器模型 应用程序之间为了能顺利地进行通信,一方通常需要处于守候状态,等待另一方请求的到来。在分布式计算中,一个应用程序被动地等待,而另一个应用程序通过请求启动通信的模式就是客户/服务器模式。 客户/服务器模型的典型运行过程包括五个主要步骤: (1)服务器监听相应窗口的输入。 (2)客户机发出请求。 (3)服务器接收到此请求。 (4)服务器处理此请求,并将结果返回给客户机。 (5)重复上述过程,直至完成一次会话过程任务。 2.系统结构设计 2.1 系统结构设计 本系统采用客户/服务器模型,在TCP/IP网络应用中,通信的两个进程间相互作用的主要模式是客户/服务器模式(Client/Server model),即客户向服务器发出服务请求,服务器接收到请求后,提供相应的服务。客户/服务器模式的建立基于以下两点:首先,建立网络的起因是网络中软硬件资源、运算能力和信息不均等,需要共享,从而造就拥有众多资源的主机提供服务,资源较少的客户请求服务这一非对等作用。其次,网间进程通信完全是异步的,相互通信的进程间既不存在父子关系,又不共享内存缓冲区,因此需要一种机制为希望通信的进程间建立联系,为二者的数据交换提供同步,这就是客户端/服务器模式的TCP/IP。在客户/服务器模型中,多个相互通信的计算机都作为客户端,与网络服务器进行连接,并通过服务器进行信息的传递[4]。所以多个客户端之间的通信就变为了客户端与服务端的通信。 服务器端和客户端的主要组成如下: 服务器端:套接字创建函数Socket(),端口绑定函数Bind(),套接口监听函数Listen(),接受连接函数Accept(),数据收发函数Read()和Write(),以及套接口关闭函数Close()。 客户端:套接口创建函数Socket(),套接口连接函数Connect(),数据收发函数Read()和Write(),以及套接口关闭函数Close()。 2.2通信设计 首先运行服务器端程序,通过Socket()函数会建立一个套接字,然后通过Bind()函数绑定一个端口,然后调用Listen()在套接字指定的端口上开始倾听,利用Accept()从完全建立连接的队列中接受一个连接,连接获得后使用Read()和Write()函数进行通信。通信结束后调用Close()关闭套接字描述符。 运行客户端的程序,调用Socket()函数建立一个套接字,使用Connect()函数与服务器端进行连接,连接完成后,使用Write()和Read()与服务器端进行通信,通信结束后调用close()关闭套接字描述符。 3.1系统调用相关函数 (1)Socket() 作用:s

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档