在VB中如何让两台电脑联机并可以相互收发信息?(类似QQ聊天)
展开全部
用Winsock 实现聊天的程序 一个简单的聊天程序 程序所需控件:Winsock控件,CommandButton控件(默认name),TextBox控件(一个名称为txtMess,另一个名称为txtSend) 程序代码如下: Private Sub Form_Load() Dim my As String Winsock1.Protocol = sckUDPProtocol '设置为UDP协义 Winsock1.LocalPort = 10 '设置计算机的端口,随便设置,不过两个要一样 Winsock1.RemotePort = 10 my = Winsock1.LocalIP '取得自己的IP地址,是不要的 Winsock1.RemoteHost = my '这里应该是设置为别人计算机的IP地址,由于自己是单机,所以就设置成自己的,自己给自己发信息 End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) '取得数据时发生 Dim Tmp As String Winsock1.GetData Tmp, vbString '取得数据 Tmp = "对方位址:" + Winsock1.RemoteHostIP + "发言内容为-->" + Tmp txtMess.Text = Tmp + Chr$(13) + Chr$(10) + txtMess.Text End Sub Private Sub Command1_Click() '发送信息 Winsock1.SendData txtSend.Text End Sub 补充:若是想要同時多人聊天的话,则你的RemoteHost 需要将最后面的地址设置为255(广播节点)才行
展开全部
VB就用winsock控件来实现点对点通讯,可以考虑用两个文本框。实现也很简单,就是在Winsock1_DataArrival事件里 Winsock1.GetData txt, vbString获取对方发送过来的消息。 可以添加一个按钮控件来发送消息,如: Winsock1.SendData Text2.Text 发送消息。 在form load 事件里把winsock控件设置一下 With Winsock1 .Protocol = sckUDPProtocol'使用的协议,这里用udp协议 .LocalPort = 2000'你所使用的端口号 .Bind 2000' .RemoteHost = Winsock1.LocalIP'对方的IP .RemotePort = 3000'对方使用的端口号 End With Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long) If Winsock1.State = sckClosed Then Winsock1.Close Winsock1.Accept requestID End If End Sub 当然处理显示消息还需要想点办法,具体实现还要看你自己,我只是给你引个路。另外,网上点对点通讯的例子很多,也很简单的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询