局域网实时通讯工具Word文档下载推荐.docx
- 文档编号:20821390
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:12
- 大小:207.21KB
局域网实时通讯工具Word文档下载推荐.docx
《局域网实时通讯工具Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《局域网实时通讯工具Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
Socket是通信端点的一种概念抽象。
它提供了相连的各个通讯端点通过网络进行数据发送和接收机制。
WindowsSockets规范是一套开放的,支持多种协议的Windows操作系统下的网络编程API。
2.Socket接口是TCP/IP网络通信的API。
也就是说,Socket接口规定了许多函数和例程,程序员可以用它们来开发TCP/IP网络上的应用程序。
今天,Socket接口是TCP/IP网络通信最为通用的API之一。
3.C++Builder实用封装技术向程序员提供了两个vcl控件:
ClientSocket,ServerSocket。
这两个控件封装了复杂的WindowSocket函数,其中ClientSocket封装了管理客户端Socket的功能,ServerSocket封装了管理服务器端得Socket的功能。
但是这两个控件本身是不具备有通信的能力,负责通信的是TCustomWinSocket类的子类。
四.需求分析和系统功能描述及软件模块划分,流程图
系统功能描述:
网络聊天的基础是TCP/IP协议,服务器把程序转换成一个虚拟的TCP/IP服务器,并且和指定的客户端建立连接,在连接成功后向指定的客户端发送和接收数据。
客户端把程序转换成一个虚拟的TCP/IP客户端,并且向指定的服务器发出链接信号,在连接成功后,向指定的服务器发送和接收数据。
软件模块划分:
服务器端客户端
服务器设计:
(1)ServerSocket组件位于组件模版的internet标签页下,使用时直接拖动Form1即可,在使用ServerSocket组件时,必须设置ServerSocket的端口号。
它与客户端进行通信与连接的通道,客户端必须以相同的端口号才能连接。
(2)在ServerSocket组件需要重新设置端口号时,应该首先断开与客户端的链接,然后再设置端口号再重新连接。
(3)如果需要使用ServerSocket组件发送信息,直接使用其方法sendtxt()即可,
(4)当ServerSocket组件收到客户端发来的信息是,它会启用onclientread事件。
要显示相应的内容是,需要自行处理该事件。
客户端设计:
(1)ClientSocket组件位于组件模版的internet标签页下,使用时直接拖动Form1即可,在使用ClientSocket组件时,必须设置ClientSocket的端口号。
这个端口号必须与服务器设置的端口号一致,否则它不能与服务器进行连接,并且需要设置连接服务器的IP地址。
(2)ClientSocket组件需要重新与其他服务器连接时,应该首先断开与原服务器的链接。
然后再设置端口号和服务器IP地址并重新连接。
在活动状态时不容许连接新的服务器地址。
(3)ClientSocket组件与服务器连接成功时,会产生OnConnect事件,可以处理该事件的相关内容。
(4)如果需要使用ClientSocket组件发送消息时,直接使用其方法sendtxt()即可。
流程图:
服务器端流程图
客户端流程图
五设计步骤
服务器端
服务器端程序界面图
监听(按钮)
//-------------------------------------------------------------
void__fastcallTForm1:
:
Button1Click(TObject*Sender)
{
ServerSocket1->
Port=StrToInt(Edit1->
Text);
Active=true;
StatusBar1->
SimpleText="
正在监听客户端的连接状态。
。
"
;
Memo1->
Lines->
Clear();
Memo2->
}
断开(按钮)
Button2Click(TObject*Sender)
Close();
已经和客户端断开了连接...."
发送(按钮)
Button3Click(TObject*Sender)
Socket->
Connections[0]->
SendText(Memo2->
群发(按钮)
Button7Click(TObject*Sender)
{for(inti=0;
i<
=ServerSocket1->
ActiveConnections-1;
i++)
{
Connections[i]->
}
刷新(按钮)
//-------------------------------------------------------------void__fastcallTForm1:
Button6Click(TObject*Sender)
SetFocus();
退出(按钮)
Button4Click(TObject*Sender)
Active=false;
Form1->
服务器接受了客户端的请求后触发OnAccept函数
ServerSocket1Accept(TObject*Sender,
TCustomWinSocket*Socket)
有客户端和本服务器取得了连接"
;
服务器收到客户端发来的信息时触发OnClientRead函数
ServerSocket1ClientRead(TObject*Sender,
Add(Socket->
ReceiveText());
收到客户端信息.."
服务器与客户端连接后又断开时触发OnClientDisconnect函数
//---------------------------------------------------------
ServerSocket1ClientDisconnect(TObject*Sender,
客户端已经请求断开连接..."
客户端
客户端界面图
连接(按钮)
ClientSocket1->
Host=Edit2->
Text;
连接到服务器.."
//------------------------------------------------------------
已经和服务器断开了连接..."
Button5Click(TObject*Sender)
客户端与服务器端连接又断开后触发OnDisconnect函数
ClientSocket1Disconnect(TObject*Sender,
服务器端已经请求断开连接..."
客户端与服务器端连接成功时触发OnConnect函数
ClientSocket1Connect(TObject*Sender,
连接到:
+Edit2->
客户端收到服务器发来的信息时触发OnRead函数
ClientSocket1Read(TObject*Sender,
Add(ClientSocket1->
七.软件使用说明
(1)首先设置服务器端得监听端口号。
(2)按下服务器断的监听按钮,服务器端进入监听状态。
(3)客户端设置同样的端口号,并设置回环ip地址:
127.0.0.1
(4)客户端按下连接按钮,时间服务器和客户端的连接。
(5)连接成功后可发送消息。
(可通过屏幕的状态栏查看是否连接成功)
(6)服务器端点击断开按钮后可以重新设置监听端口号。
(7)可以实现多个客户端对服务器端发送信息。
只需要设计同样的端口IP地址即可。
八.参考资料
C++Builder精彩编程实例集锦罗斌中国水利水电出版社
C++Builder经典范例50讲王均李红玲科学出版社
C++Builder6.0时尚编程百例网冠科技机械工业出版社
九.验收时间及验收情况
验收时间:
2009-9-10
验收情况:
实现了目标功能!
十.设计体会
每次的课程设计之前都是感觉无从下手,但每次的结束又会发现学到了好多的东西,这些是很难从课堂上学到的,这中间的过称的确比较艰难,但很充实,特别是所有的目标功能能够实现时,那种喜悦是难以言表的。
网络这门可的课程设计部分,的确让我学到了不少的以前不从注意的东西,学习了一般的基于tcp/ip的网络信息传输工具的一些基本的设计和工作原理,真的是获益良多。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 局域网 实时 通讯 工具