用VB 编写的聊天程序,怎样实现多个用户进行通信

作者&投稿:贰致 (若有异议请与网页底部的电邮联系)
VB做语音聊天程序~

去vbgood.com看看,那有

看看这个吧!使用winsock
http://hi.baidu.com/wzla333/blog/item/b452a4c20204f81b0ef47784.html

我也写过聊天程序,一般来说也就是使用winsock控件来通讯,我认真想过,但也没有想到特别方便的方法。我的做法是这样的:所有用户都有一个sc(0)在监听某个端口,比如1234。每次需要发送数据到其它计算机的时候,就load sc(newindex),用这个新load出来的winsock来发送到那个用户的1234端口。为了可以及时回收,用一个集合来记录sc()中哪个下标正在使用,以决定在load的时候newindex的数字。当数据发送完毕,就unload sc(finishindex),并从集合中把下标退出来。实际上在局域网发送文本消息几乎不需要多长时间,所以就算你在狂发信息,(我试过监视sc的数目)一般来说就是一个sc(0)在监听(当然这个是一直不会关的),一个sc(1)在发送,已经极少碰到load一个sc(2)的情况了。使用该方法的确能有效的保证在多用户聊天的情况下保证发送和接受都正确。
至于显示消息则很简单了。在接收方sc(0)的收到消息事件中将信息提取出来放到某个textbox即可,而发送方则可以在消息发送完毕的事件中将信息放到textbox中。
如果你看得不是很明白,我可以贴出我的部分代码,或者给你作进一步讲解。

每个客户端一个ID,客户端发消息时选择全体或特定ID,服务端根据客户端发消息的类型决定是转发给所有其它客户端还是特定客户端。了解了winsock控件数组的用法后这个完成起来并不是很复杂


友好区18488322395: 用VB 编写的聊天程序,怎样实现多个用户进行通信
枝怪渭大: 我也写过聊天程序,一般来说也就是使用winsock控件来通讯,我认真想过,但也没有想到特别方便的方法.我的做法是这样的:所有用户都有一个sc(0)在监听某个端口,比如1234.每次需要发送数据到其它计算机的时候,就load sc(newindex)...

友好区18488322395: VB如何写一个一对多聊的局域网聊天系统?(一对一聊已经会了!) -
枝怪渭大: 跟1对1没有多大的区别,只不过需要对发送的消息自己定义下格式,比如说一条消息,前面多少字节表示命令,后面紧跟内容,最后消息有服务端,处理根据前面的命令对消息进行路由

友好区18488322395: VB winscok 控件 实现多人聊天 -
枝怪渭大: Winsork实现了一个CS结构1.首先建立一个Listen(监听),其实只要监听一个端口2.客户端向已经运行了监听程序的服务器端发送连接请求,服务器断接到请求,然后Accept(接受).一般的,服务器端因该单独建立一个线程(Thread)和...

友好区18488322395: 在VB中如何让两台电脑联机并可以相互收发信息?(类似QQ聊天)
枝怪渭大: 用 Winsock 实现聊天的程序 一个简单的聊天程序 程序所需控件:Winsock控件,CommandButton控件(默认name),TextBox控件(一个名称为txtMess,另一个名称为txtSend) 程序代码如下: Private Sub Form_Load() Dim my As String ...

友好区18488322395: 如何用VB实现多串口通讯程序? -
枝怪渭大: 建立多个mscomm控件,或者建立mscomm控件数组,每个控件对应不同的串口号进行初始化就可以.用多串口卡应该是可以的.另外USB转串口的要慎用,会出现莫名其妙的问题.

友好区18488322395: 求如何用vb.net的socket写多人聊天室
枝怪渭大: Private Sub Form_Load() With Winsock1 .RemoteHost = "124.135.13.106" '对方的IP .RemotePort = 1002 ' 对方的端口号 .Bind 1001 ' 本机的端口号 End With End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim strData As String Winsock1.GetData strData '接收字节 List1.AddItem strData End Sub 这个用UDP进行连接的.只不过是对单个机器进行的.

友好区18488322395: VB怎样能设计出广域网聊天软件
枝怪渭大: 把服务器挂到外网,并开发相应端口.

友好区18488322395: 如何用VB制作简单的局域网聊天工具? -
枝怪渭大: 用winsock控件,TCP模式:一个程序作为服务器一直处于监听状态,一个程序作为客户端连接服务器,连接成功后,用接收和发送两个方法收发数据即可,1对多,设置好IP和端口即可.UDP模式:直接利用IP和端口连接,1对1.

友好区18488322395: 如何使用VB做网上聊天程序?
枝怪渭大: 可以利用winsock控件, 一个客户端,一个服务端, 就好比QQ一样,网上有这样的例子,

友好区18488322395: VB怎么实现局域网聊天的?
枝怪渭大: 1、winsock 部件2、客务端(客务端): 监听 -->接受请求 -->发送数据 -->关闭连接Private Sub Form_Load() Winsock1.LocalPort = 5238'这个是端口 Winsock1.Listen Text1.Locked = True Text2.Locked = True Text2.Text = "等待客户登陆!"...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网