实现一对一聊天程序.docx

上传人:b****6 文档编号:15774279 上传时间:2023-07-07 格式:DOCX 页数:14 大小:151.63KB
下载 相关 举报
实现一对一聊天程序.docx_第1页
第1页 / 共14页
实现一对一聊天程序.docx_第2页
第2页 / 共14页
实现一对一聊天程序.docx_第3页
第3页 / 共14页
实现一对一聊天程序.docx_第4页
第4页 / 共14页
实现一对一聊天程序.docx_第5页
第5页 / 共14页
实现一对一聊天程序.docx_第6页
第6页 / 共14页
实现一对一聊天程序.docx_第7页
第7页 / 共14页
实现一对一聊天程序.docx_第8页
第8页 / 共14页
实现一对一聊天程序.docx_第9页
第9页 / 共14页
实现一对一聊天程序.docx_第10页
第10页 / 共14页
实现一对一聊天程序.docx_第11页
第11页 / 共14页
实现一对一聊天程序.docx_第12页
第12页 / 共14页
实现一对一聊天程序.docx_第13页
第13页 / 共14页
实现一对一聊天程序.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实现一对一聊天程序.docx

《实现一对一聊天程序.docx》由会员分享,可在线阅读,更多相关《实现一对一聊天程序.docx(14页珍藏版)》请在冰点文库上搜索。

实现一对一聊天程序.docx

实现一对一聊天程序

实现一个一对一的聊天程序

一实习题目

实现一个一对一的聊天程序。

其基本过程如下:

服务器首先启动,创建套接字后等待客户的连接;客户启动以后,创建套接字,然后和服务器建立连接;连接建立后,客户机和服务器可以通过建立的套接字连接进行通信。

服务器和客户端可以是一台电脑上的两个进程,也可以分别部署在两台电脑上。

二原理概述

本题是一个简单的聊天室程序,采用客户/服务器模式,分为客户端程序和服务器端程序。

由于服务器只能支持一个客户,实际上是一个点对点通信的程序。

客户端程序和服务器程序通过网络交换聊天字符串内容,并在窗口的列表框中显示。

重点是流式套接字对象的使用,处理网络事件的方法。

本此课程设计是利用网络聊天程丿宇的基本设计思想,并按照网络通信的协议设计出来的一个基于UDP的网络聊天程序。

端口号拼接到IP地址即构成了套接字(socket)。

套接字(socket)=(IP地址:

端口号)。

在网络编程时常常把套接字作为应用进程和运输层协议之间的接口。

当应用进程(客户或服务器)需要使用网络进行通信时,必须首先发出socket系统调用,请求操作系统为其创建一个“套接字”。

这个调用的实际效果是请求操作系统把网络通信所需要的一些资源分配给该应用进程。

操作系统为这些资源的总和用一个叫做套接字描述符的号码來表示,然后把这个套接字描述符返回给应用进程。

此后,应用进程所进行的网络操作都必须使用这个套接字描述符。

三设计方案

1问题分析:

本次计算机网络与通信实习的任务是设计一个一对一的聊天程序。

根据课程设计要求程丿子采用客户/服务器模式,分为客户端程序和服务器端程序。

其基本过程如下:

服务器首先启动,创建套接字后等待客户的连接;客户启动以后,创建套接字,然后和服务器建立连接;连接建立后,客户机和服务器可以通过建立的套接字连接进行通信。

服务器和客户端可以是一台电脑上的两个进程,也可以分别部署在两台电脑上。

客户端程序和服务器程序通过网络交换聊天字符串内容,并在窗口的列表框中显示。

重点是流式套接字对象的使用,处理网络事件的方法。

2设计思路:

程序采用VB语言编写,运用UDP面向无连接数据报协议完成实验,程序的核心是运用的空间为VB网络编程中的Winsock控件。

数据之前不必建立连接,只需要将Winsock绑定到一个端口上,其他无连接协议的Winsock若想向此处发送数据,需要指明地址和端口。

(1)将RemoteHost属性设置为另一台计算机的名称或者IP地址。

(2)将RemotePort属性设置为另一台计算机Winsock控件所绑定的LocalPort属性。

(3)调用Bind方法,指定使用的LocalPorto

3系统模块结构:

根据程序设计要求,设计出整个网络聊天程序的设计框图。

 

客户端

服务器

 

系统总设计流程图

主程序

服务器端主流程图客户端主流程图四程序编写

1通过建立工程,设计出网络服务器程序,其设计过程及源程序代码如下。

(1)创建一个新的StandardEXE工程。

(2)将缺省的窗体的名称修改为PeerAo

(3)将窗体的标题修改为“服务器”。

(4)在窗体中放入一个Winsock控件,并将其命名为UDPSevero

(5)在Winsock控件的"属性”页上,单击“Protocol”属性,并将该属性值修改为UDPProtocolo

(6)在窗体中添加两个TextBox控件。

将第一个命名为txtSend,第二个命名为txtOutputo

(7)为窗体增加如下的代码。

UDP聊天服务器程序:

PrivateSubCombol_Click()

EndSub

PrivateSubCheckl_Click()'设置隶书字体

If=1Then

="隶书〃

Else

="宋体〃

EndIf

EndSub

PrivateSubCheck2_Click()'设置下划线字体

If=1Then

=True

Else

=False

EndIf

EndSub

PrivateSubCheck3_Click()'设置斜体字体

If=1Then

=True

Else

=False

EndIf

EndSub

PrivateSubCheck4_Click()'设置字体大小为18榜

If=1Then

=18

Else

=10

EndIf

EndSub

PrivateSubForm_Load()

='设置下拉框,选择更多的字体

DimiAsInteger

Fori二0To-1

(i)

Next

WithUDPSever,控件的名字为UDPSever

.RemoteHost='服务器主机IP名称

.RemotePort=1001,连接的端口号

.Bind1002,绑定到本地的端口

EndWith

EndSub

PrivateSubtxtSend_Change()

'在键入文本时,立即将其发送出去

EndSub

PrivateSubUDPSever_DataArrival(ByVaibytesTotalAsLong)

'在服务器接收框中显示客户端传送的消息

DimstrDataAsString

strData

=strData

EndSub

2通过建立工程,设计出网络客户端程序,其设计过程及源程序代码如

下。

UDP聊天客户端程序:

(1)在工程中添加一个标准窗体。

(2)将窗体的名字修改为frmPeerBo

(3)将窗体的标题修改为“PeerB”。

(4)在窗体中放入一个Winsock控件,并将其命名为udpClient。

(5)在“属性”页上,单击“协议”并将协议修改为“UDPProtocol”。

(6)在窗体上添加两个TextBox控件。

将第一个命名为txtSend,第二个命名为txtOutputo

(7)在窗体中添加如下的代码。

PrivateSubForm_Load()

='设置下拉框,选择更多的字体

DimiAsInteger

Fori二0To-1

(i)

"控件的夕i字为udpPeerB

'客户端主机IP名称

'连接的端口号

'绑定到本地的端口

Next

WithudpClient

RemoteHost二"“

RemotePort二1002

Bind1001

EndWith

EndSub

PrivateSubtxtSend_Change()

'在键入文本时,立即将其发送出去

EndSub

PrivateSubudpClient_DataArrival(ByVaibytesTotalAsLong)

'在客服端接收框中显示服务器传送的

消息

DimstrDataAsString

strData

=strData

EndSub

五运行结果

(1)运行界面

 

(2)服务器发送消息

通过在发送消息栏输入文字,并在下面字体选择栏中选择自己喜欢的字

体,进行发送,消息马上即可在客户端接收。

如图

 

(3)客户端发送消息

同样,客户端发送消息与上图类似。

六实习心得和体会

《计算机网络与通信》课程讲述计算机网络的原理,尤其是TCP/IP协议栈的原理和应用,是一门理论性、应用性、实践性都比较强的课程。

《计算机网络与通信实习》是学习完《计算机网络与通信》课程后进行的一次全面的综合实习,是本专业实践性重要环节之一。

计算机网络与通信实习是从原理和实践的角度,在计算机上编程模拟实现计算机网络的基本协议,或者架设一个小型局域网并对其进行相应配置。

通过一周的实习,我对计算机网络的原理有了非常深刻的认识和理解,同时进一步锻炼了H己的动手能力。

本次计算机网络课程设计让我对计算机网络协议有了更深入的了解,以前只是知道UDP及TCP等协议,但是不知道能够具体的用來编写小软件,这也是在计算机网络学习过程中打下的基础,有了计算机网络基础知识,让我在具体实践过程中更加顺利。

借助本次实验自己再一次对VB语言中的控件有了更深的理解,并能够灵活运用,其中的一些参数虽然一时记不清楚,但是在课后翻阅资料的过程中很快就会运用了。

能够顺利的独立完成本次实验,也是对我前一段时间学习VB和《计算机网络》的一个考验,我也已经掌握了基本的VB编程思想及常见控件的使用方法以及实现计算机网络与通信的原理。

这次实习培养了我的白学及动手能力,及时遇到了比较棘手的技术问题,我相信白己也能够通过查阅资料,一步一步完善自己在编程上的不足。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2