问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

VB编一个聊天工具

发布网友 发布时间:2022-05-26 12:47

我来回答

5个回答

热心网友 时间:2023-10-17 17:42

怎么都要这个东西,那天也看到一个要代码的 那我就再贴一个。我调试过 没问题的 只要你对winsock控件了解 其实没什么的 就是一些对接收到的和发送的信息做一些处理而已 你先吧程序做好,慢慢再按照功能看,会比较简单。如果不行 我再给你源程序。给你讲解下也行

一个server端
Private Sub Command1_Click()

End

End Sub

Private Sub Command2_Click()
Winsockserver.SendData Text4.Text + ":" + textsend.Text

textget.Text = textget.Text + vbCrLf + Text4.Text + ":" + textsend.Text + " " + Str(Time)
textsend.Text = ""
End Sub

Private Sub Form_Load()
Command2.Visible = False
textsend.Visible = False
Text4.Visible = False
textget.Visible = False
Label1.Visible = False
Winsockserver.LocalPort = 1001

Winsockserver.Listen

End Sub

Private Sub textsend_Change()

'Winsockserver.SendData textsend.text

End Sub

Private Sub textsend_KeyPress(KeyAscii As Integer)
'If KeyAscii = 13 Then
'Winsockserver.SendData textsend.text
'textsend.text = ""
If KeyAscii = 13 Then
Winsockserver.SendData textsend.Text
' Text1.text = Text1.text + vbCrLf + Text4.text + ": " + Text2.text + " " + Str(Time)
textsend.Text = ""

End If
End Sub

Private Sub Timer1_Timer()
If Text4.Text = "" Then Text4.Text = "no name"
End Sub

Private Sub Winsockserver_Close()

Winsockserver.Close

End

End Sub

Private Sub Winsockserver_ConnectionRequest(ByVal requestID As Long)
Command2.Visible = True
textsend.Visible = True

textget.Visible = True
Text4.Visible = True
Label1.Visible = True
If Winsockserver.State <> sckClosed Then Winsockserver.Close

Winsockserver.Accept requestID

End Sub

Private Sub Winsockserver_DataArrival(ByVal bytesTotal As Long)

Dim tmpstr As String

Winsockserver.GetData tmpstr

'textget.text = textget + tmpstr + textsend
textget.Text = textget.Text + vbCrLf + tmpstr + " " + Str(Time)
End Sub

'(1)Command1:退出按钮;

'(2)textsend:发送数据文本框;

'(3)Winsockserver: 服务器Winsock;

'(4)textget :接收数据文本框。

一个client端
Private Sub Command1_Click()

End

End Sub

Private Sub Command2_Click()
On Error Resume Next
Winsockclient.RemoteHost = Text1.Text
Winsockclient.Connect

End Sub

Private Sub Command3_Click()
Winsockclient.SendData Text4.Text + ":" + textsend.Text

textget.Text = textget.Text + vbCrLf + Text4.Text + ":" + textsend.Text + " " + Str(Time)
textsend.Text = ""
End Sub

Private Sub Form_Load()
Command3.Visible = False
textsend.Visible = False
Text4.Visible = False
textget.Visible = False
Label2.Visible = False
Label3.Visible = False
Command2.Enabled = True
Winsockclient.RemoteHost = "192.168.1.211"
Winsockclient.RemotePort = 1001

Winsockclient.RemoteHost = "sccdsz"

End Sub

Private Sub Text1_Change()
Command2.Enabled = True
'Winsockclient.RemoteHost = Text1.Text

End Sub

Private Sub textsend_Change()

'Winsockclient.SendData textsend.Text

End Sub

Private Sub textsend_KeyPress(KeyAscii As Integer)
'If KeyAscii = 13 Then
'Winsockclient.SendData textsend.Text
'textsend.Text = ""
If KeyAscii = 13 Then
Winsockclient.SendData Text4.Text + ":" + textsend.Text
textsend.Text = ""
'End If
End If
End Sub

Private Sub Timer1_Timer()
On Error Resume Next
Winsockclient.Connect
Winsockclient.RemoteHost = Text1.Text
End Sub

Private Sub Winsockclient_Close()

Winsockclient.Close

End

End Sub

Private Sub winsockclient_Connect()

textsend.Visible = True

textget.Visible = True
Label2.Visible = True
Label3.Visible = True
Text4.Visible = True
Command2.Enabled = True
Command2.Visible = True
Command3.Visible = True
End Sub

Private Sub winsockclient_DataArrival(ByVal bytesTotal As Long)

Dim tmpstr As String

Winsockclient.GetData tmpstr

textget.Text = textget.Text + vbCrLf + tmpstr + " " + Str(Time)

End Sub

'(1)Command1:退出按钮;

'(2)Command2:连接按钮;

'(3)Winsockclient:客户Winsock;

'(4)Text1:主机名文本框;

'(5)Textsend:发送数据文本框;

'(6)Textget:接收数据文本框; 客户机程序的界面如图所示。

热心网友 时间:2023-10-17 17:42

使用Winsock控件,Winsock控件是VB5.0的新增功能,它解决了以往应用VB编程时网络中应用程序之间无法实现点对点通信的难题。Winsock使用的TCP协议和UDP协议允许建立并保持一个到远程计算机上的连接,且可以在连接结束之前实时地进行数据交换。用户仅通过设置属性并借助事件处理就能够轻而易举地连接到一个远程的计算机上,而且只用两个命令就可以实现数据交换。
具体使用方法和例子见网页:

http://www.xinlingtong.com/download/book/vbjq/internet/31.HTM

参考资料:http://www.xinlingtong.com/download/book/vbjq/internet/31.HTM

热心网友 时间:2023-10-17 17:42

那你至少要两个程序,一个做SERVER端,一个Client端。server端监听端口接收client端发来的请求,然后发送给相应的client端。

可以用winsock控件来做,TCP或者UDP协议都可以。

热心网友 时间:2023-10-17 17:43

哎呀,我用VBS脚本做过一个基于网页的P2P聊天工具。
主体思路采用了Winsock编程。
不难的。

热心网友 时间:2023-10-17 17:44

哈哈。。。我有一个非常简单的方法,两下搞定。
不过只能用于2000,XP,2003等系统的局域网,98的不能用。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...要求高吗?最低配置要求一览介绍_罪恶装备启示者配置要求高吗?最低... 罪恶装备启示者帧数怎么提升介绍_罪恶装备启示者帧数怎么提升是什么 ...在25平方米的房间开1个小时要用多少电拜托了各位 谢谢 高空抛物的法律赔偿责任如何规定 高空抛物罪一般怎么处罚 保时捷电动车和特斯拉哪个好 保时捷Mission E和特斯拉Model 3哪个好 特斯拉Model S和保时捷Tnycan你怎么选 探探怎么注销账号 探探APP注销账号教程 80枚5分硬币中有一枚是假的,他比真硬币重,用一架天平去称,不用砝码... 80枚5分硬币中有一枚是假的,它比真硬币重一些.用一架天平去称,不用砝码... vb外网点对点聊天 从此的此是什么意思 50%ile 什么意思 过去从此忘记的意思? l&#39;Ile-de-France是什么意思? 寂静岭2英文字幕放的好慢,怎样能跟上对话? 从此是什么意思?? 从此的此什么意思(贴切一点的) 在法语中dans i&#39;ile和 sur l&#39;ile两者有什么区别? VB怎么实现局域网聊天的? 亡羊补牢一文中的从此指的是什么意思? 从此是什么意思 ile中文是什么意思 问问一下大家别墅泳池造价?有高手清楚吗? 北京带私人游泳池的别墅有哪些?具体点说下。十分感谢。复制粘贴的不要回了谢谢 罗志祥豪宅泳池拒官方勘察,恐被罚上千元,这是为何? 合肥有那种有泳池的独栋别墅吗? 昆山伟时电子厂有纹身可以进吗? 你见过哪些人穿一身潮牌却很土? 很多人基础款穿不出时尚感,怎么才能把基础款穿出感觉? 从此再也没有与他通信联络。从此指的是什么意思? 从此以后是什么意思? 用VB做一个实现互联网的连接聊天程序 《守株待兔》中“从此”的意思 自从与从此这两个词是一个意思吗? 从此与终是什么意思? 刺客信条第一次玩他叫你按照提示做我看不懂High&#47;low_proile是什么意思要按什么健 fashionalile是什么意思 chateau verseile是什么意思 dingjierigoile是什么意思啊 S㎡ile这个英语什么意思 kids hadile什么意思 crocoolile是什么意思 我需要NEC P2000的驱动程序,那里能找到,谢谢 显卡问题咨询 山东省二建报名网页手机没法操作吗 企业人数上限 边梅打的过李连杰吗? 硬抗李连杰100多拳,为演戏差点丢命的人是谁? 功夫影星中的实战派,拍戏对打怕伤到李连杰,他是谁?