没有合适的资源?快使用搜索试试~ 我知道了~
基于TCPIP的网络文字聊天程序设计.doc
0 下载量 40 浏览量
2023-07-01
21:02:45
上传
评论
收藏 229KB DOC 举报
温馨提示
试读
31页
基于TCPIP的网络文字聊天程序设计.doc
资源推荐
资源详情
资源评论
网络编程
课程设计说明书
设计题目
基于 TCP/IP 的网络文字聊天程序设计
系 、 部: 计信学院
学生姓名:
学 号:
专 业: 网络工程
班 级: 网络 1301 班
指导教师:
完成时间: 2015-12-22
1
前言
Socket 协议:
socket 的英文原义是“孔”或“插座”。在这里作为 4BDS UNIX 的进程通信机
制,取后一种意思。socket 非常类似于电话插座。以一个国家级电话网为例。电
话的通话双方相当于相互通信的 2 个进程,区号是它的网络地址;区内一个单位
的交换机相当于一台主机,主机分配给每个用户的局内号码相当于 socket 号。
任何用户在通话之前,首先要占有一部电话机,相当于申请一个 socket;同时要
知道对方的号码,相当于对方有一个固定的 socket。然后向对方拨号呼叫,相当
于发出连接请求(假如对方不在同一区内,还要拨对方区号,相当于给出网络地
址)。对方假如在场并空闲(相当于通信的另一主机开机且可以接受连接请求),拿
起电话话筒,双方就可以正式通话,相当于连接成功。双方通话的过程,是一方
向电话机发出信号和对方从电话机接收信号的过程,相当于向 socket 发送数据
和从 socket 接收数据。通话结束后,一方挂起电话机相当于关闭 socket,撤消连
接。
在电话系统中,一般用户只能感受到本地电话机和对方电话号码的存在,建
立通话的过程,话音传输的过程以及整个电话系统的技术细节对他都是透明的,
这也与 socket 机制非常相似。socket 利用网间网通信设施实现进程通信,但它对
通信设施的细节毫不关心,只要通信设施能提供足够的通信能力,它就满足了。
至此,我们对 socket 进行了直观的描述。抽象出来,socket 实质上提供了进
程通信的端点。进程通信之前,双方首先必须各自创建一个端点,否则是没有办
法建立联系并相互通信的。正如打电话之前,双方必须各自拥有一台电话机一样。
在网间网内部,每一个 socket 用一个半相关描述:
(协议,本地地址,本地端口)
一个完整的 socket 有一个本地唯一的 socket 号,由操作系统分配。
最重要的是,socket 是面向客户/服务器模型而设计的,针对客户和服务器
程序提供不同的 socket 系统调用。客户随机申请一个 socket (相当于一个想打电
话的人可以在任何一台入网电话上拨号呼叫),系统为之分配一个 socket 号;服
务器拥有全局公认的 socket ,任何客户都可以向它发出连接请求和信息请求(相
2
当于一个被呼叫的电话拥有一个呼叫方知道的电话号码)。
目录
前言...................................................................................................................-1-
Socket 协议:......................................................................................................-1-
一、 课程设计题目..............................................................................................-3-
二、 设计原理....................................................................................................-3-
三、课程设计内容...................................................................................................-4-
(一)设计功能:...........................................................................................-4-
(二)程序设计流程图...................................................................................-4-
(三)程序设计原理.......................................................................................-6-
(四)程序主要代码.......................................................................................-6-
(五)程序功能截图......................................................................................-24-
四、 设计使用说明...........................................................................................-26-
五、 此次收获....................................................................................................-27-
六、 设计需要改进之处....................................................................................-27-
七、 参考文献....................................................................................................-27-
3
一、 课程设计题目
基于 TCP/IP 的网络文字聊天程序设计。
二、 设计原理
计算机网络技术发展至今已经大大超越了人们当初的预想,无论是人们日常
的工作还是学习,我们都越来越多的依靠到互联网。各种实时性的聊天娱乐软件
也同时诞生,而且为我们的即时通讯带来了众多的方便,比如说大家所熟知的腾
讯 QQ、微软的 MSN、移动的 Fetion 等,都是做的比较成功的实时聊天工具。随
着网络的日益普及,各种聊天工具也层出不穷,但当我们学习了《网络编程》这
门课程之后,我们便会觉得,其实要实现简单的网络通讯其实并不难。接下来的
课程设计就是针对一个简单的网络聊天程序,利用 MFC 为开发工具,实现基本
的通讯功能。
此程序主要分为两部分:服务器端和客户端。服务器端用于提供一个网络端
口,等待客户端发出请求,登录到此服务端,然后进行网络通讯和消息的转发;
客户端可通过服务器端的 IP 地址发送连接请求,然后登陆聊天室。在服务器端
的成员列表栏中会显示在线的所有人名单。整个程序的主体使用了 CSocket 类的
方法,实现了网络通讯聊天。
整个程序设计为两个部分:服务器 (Server)和客户端 (Client)
多人聊天的关键在于要将每个客户端发送过来的消息分发给所有其他客户
端,为了解决这个问题,在服务器程序中建立一个套接口链表,用来保存所有与
客户端建立了连接的服务端口。下面描述了多人聊天的实现原理:
当客户端 Client N 向对应的服务端口 N 发送了消息 Message,服务端口 N 将
Message 复制给所有套接口列表(USERLIST)中的套接口缓冲区,然后向每个服务
端口发送 WRITE 消息,使每个服务端口将 Message 发送给对应的客户端。这样,
所有客户端就都获得了 Message 消息,实现了多人聊天功能。
4
三、 课程设计内容
(一) 设计功能
实现网络文字聊天程序的基本功能。主要包括:
1. TCP 聊天服务器程序
2. TCP 聊天客户端程序
(二) 流程图
1. 服务器流程图
否
是
服务器端
设置成功
运行服务器
判断输入 IP 是否为
本机 IP
提示失败
输入 IP,端口号
剩余30页未读,继续阅读
资源评论
智慧安全方案
- 粉丝: 3702
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功