最新实现一对一聊天程序Word下载.docx
- 文档编号:3196194
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:11
- 大小:160.47KB
最新实现一对一聊天程序Word下载.docx
《最新实现一对一聊天程序Word下载.docx》由会员分享,可在线阅读,更多相关《最新实现一对一聊天程序Word下载.docx(11页珍藏版)》请在冰点文库上搜索。
由于服务器只能支持一个客户,实际上是一个点对点通信的程序。
客户端程序和服务器程序通过网络交换聊天字符串内容,并在窗口的列表框中显示。
重点是流式套接字对象的使用,处理网络事件的方法。
本此课程设计是利用网络聊天程序的基本设计思想,并按照网络通信的协议设计出来的一个基于UDP的网络聊天程序。
端口号拼接到IP地址即构成了套接字(socket)。
套接字(socket)=(IP地址:
端口号)。
在网络编程时常常把套接字作为应用进程和运输层协议之间的接口。
当应用进程(客户或服务器)需要使用网络进行通信时,必须首先发出socket系统调用,请求操作系统为其创建一个“套接字”。
这个调用的实际效果是请求操作系统把网络通信所需要的一些资源分配给该应用进程。
操作系统为这些资源的总和用一个叫做套接字描述符的号码来表示,然后把这个套接字描述符返回给应用进程。
此后,应用进程所进行的网络操作都必须使用这个套接字描述符。
三设计方案
1问题分析:
本次计算机网络与通信实习的任务是设计一个一对一的聊天程序。
根据课程设计要求程序采用客户/服务器模式,分为客户端程序和服务器端程序。
2设计思路:
程序采用VB语言编写,运用UDP面向无连接数据报协议完成实验,程序的核心是运用的空间为VB网络编程中的Winsock控件。
数据之前不必建立连接,只需要将Winsock绑定到一个端口上,其他无连接协议的Winsock若想向此处发送数据,需要指明地址和端口。
(1)将RemoteHost属性设置为另一台计算机的名称或者IP地址。
(2)将RemotePort属性设置为另一台计算机Winsock控件所绑定的LocalPort属性。
(3)调用Bind方法,指定使用的LocalPort。
3系统模块结构:
根据程序设计要求,设计出整个网络聊天程序的设计框图。
服务器客户端
系统总设计流程图
主程序
结束
服务器端主流程图客户端主流程图
四程序编写
1通过建立工程,设计出网络服务器程序,其设计过程及源程序代码如下。
(1)创建一个新的StandardEXE工程。
(2)将缺省的窗体的名称修改为PeerA。
(3)将窗体的标题修改为“服务器”。
(4)在窗体中放入一个Winsock控件,并将其命名为UDPSever。
(5)在Winsock控件的“属性”页上,单击“Protocol”属性,并将该属性值修改为UDPProtocol。
(6)在窗体中添加两个TextBox控件。
将第一个命名为txtSend,第二个命名为txtOutput。
(7)为窗体增加如下的代码。
UDP聊天服务器程序:
PrivateSubCombo1_Click()
TxtSend.Font.Name=Combo1.Text
EndSub
PrivateSubCheck1_Click()'
设置隶书字体
IfCheck1.Value=1Then
TxtSend.FontName="
隶书"
Else
宋体"
EndIf
PrivateSubCheck2_Click()'
设置下划线字体
IfCheck2.Value=1Then
TxtSend.FontUnderline=True
TxtSend.FontUnderline=False
PrivateSubCheck3_Click()'
设置斜体字体
IfCheck3.Value=1Then
TxtSend.FontItalic=True
Else
TxtSend.FontItalic=False
PrivateSubCheck4_Click()'
设置字体大小为18榜
IfCheck4.Value=1Then
TxtSend.FontSize=18
TxtSend.FontSize=10
PrivateSubForm_Load()
Combo1.Text=TxtSend.Font.Name‘设置下拉框,选择更多的字体
DimiAsInteger
Fori=0ToScreen.FontCount-1
Combo1.AddItemScreen.Fonts(i)
Next
WithUDPSever‘控件的名字为UDPSever
.RemoteHost="
172.16.50.24"
‘服务器主机IP名称
.RemotePort=1001‘连接的端口号
.Bind1002‘绑定到本地的端口
EndWith
PrivateSubtxtSend_Change()
UDPSever.SendDatatxtSend.Text‘在键入文本时,立即将其发送出去
PrivateSubUDPSever_DataArrival(ByValbytesTotalAsLong)
‘在服务器接收框中显示客户端传送的消息
DimstrDataAsString
UDPSever.GetDatastrData
txtOutput.Text=strData
2通过建立工程,设计出网络客户端程序,其设计过程及源程序代码如下。
UDP聊天客户端程序:
(1)在工程中添加一个标准窗体。
(2)将窗体的名字修改为frmPeerB。
(3)将窗体的标题修改为“PeerB”。
(4)在窗体中放入一个Winsock控件,并将其命名为udpClient。
(5)在“属性”页上,单击“协议”并将协议修改为“UDPProtocol”。
(6)在窗体上添加两个TextBox控件。
(7)在窗体中添加如下的代码。
Combo1.Text=TxtSend1.Font.Name‘设置下拉框,选择更多的字体
WithudpClient‘控件的名字为udpPeerB
.RemoteHost="
172.16.50.24“‘客户端主机IP名称
.RemotePort=1002‘连接的端口号
.Bind1001‘绑定到本地的端口
udpClient.SendDatatxtSend.Text‘在键入文本时,立即将其发送出去
PrivateSubudpClient_DataArrival(ByValbytesTotalAsLong)
‘在客服端接收框中显示服务器传送的消息
udpPeerB.GetDatastrData
五运行结果
(1)运行界面
(2)服务器发送消息
通过在发送消息栏输入文字,并在下面字体选择栏中选择自己喜欢的字体,进行发送,消息马上即可在客户端接收。
如图
(3)客户端发送消息
同样,客户端发送消息与上图类似。
六实习心得和体会
《计算机网络与通信》课程讲述计算机网络的原理,尤其是TCP/IP协议栈的原理和应用,是一门理论性、应用性、实践性都比较强的课程。
《计算机网络与通信实习》是学习完《计算机网络与通信》课程后进行的一次全面的综合实习,是本专业实践性重要环节之一。
计算机网络与通信实习是从原理和实践的角度,在计算机上编程模拟实现计算机网络的基本协议,或者架设一个小型局域网并对其进行相应配置。
通过一周的实习,我对计算机网络的原理有了非常深刻的认识和理解,同时进一步锻炼了自己的动手能力。
本次计算机网络课程设计让我对计算机网络协议有了更深入的了解,以前只是知道UDP及TCP等协议,但是不知道能够具体的用来编写小软件,这也是在计算机网络学习过程中打下的基础,有了计算机网络基础知识,让我在具体实践过程中更加顺利。
借助本次实验自己再一次对VB语言中的控件有了更深的理解,并能够灵活运用,其中的一些参数虽然一时记不清楚,但是在课后翻阅资料的过程中很快就会运用了。
能够顺利的独立完成本次实验,也是对我前一段时间学习VB和《计算机网络》的一个考验,我也已经掌握了基本的VB编程思想及常见控件的使用方法以及实现计算机网络与通信的原理。
这次实习培养了我的自学及动手能力,及时遇到了比较棘手的技术问题,我相信自己也能够通过查阅资料,一步一步完善自己在编程上的不足。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 实现 一对一 聊天 程序