就是很多人可以同时聊天的啊
解决方案 »
- VB中的Animation GIF Control
- ★速结贴★在MSFlexGrid中嵌入ComboBox时的一个小麻烦,请帮忙,谢谢!
- 关于web service制作,如何向浏览器发送图片文件?----高分!!!
- 请问我怎么样才能在VB的资源里面添加一个位图资源?
- 如何制用程序中的剪切、复制、删除、全选功能呢?
- 请教在做控件时, 在调用控件的程序中调用的控件方法应该做成控件的子程序还是函数
- 请大虾给说说API函数GetBoundsRect 和DrawText的各个参数具体意义
- [vb6]16*16點矩陣
- 控件数组可以作函数的参数吗
- 我的机器上只找得到crystalreport控件,请哪位老兄可以简介一下?
- 文体框的内容为 0.5+0.5 怎么计算文本框里的值。即S=0.5+0.5=1
- CommonDialog ShowPrinter 有不明之处?
一个文本框 TxtSend
一个标签框 label1
Dim Sock As IntegerPrivate Sub MenuClient_Click()
WsClient.RemotePort = 789
WsClient.Connect WsClient.LocalIP
Me.Caption = "本机为客户端"
End SubPrivate Sub MenuEnd_Click()
WsServer(0).Close
WsClient.Close Me.Caption = "本机已断开连接"
End SubPrivate Sub MenuServer_Click()
WsServer(0).LocalPort = 789
WsServer(0).Listen
WsClient.RemotePort = 789
WsClient.Connect WsClient.LocalIP
Me.Caption = "本机为服务器"
End SubPrivate Sub TxtSend_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
WsClient.SendData TxtSend.Text
TxtSend.Text = ""
End If
End SubPrivate Sub WsClient_DataArrival(ByVal bytesTotal As Long)
Dim s As String
WsClient.GetData s
Text1.Text = Text1.Text & s & vbCrLf
End SubPrivate Sub WsServer_ConnectionRequest(Index As Integer, ByVal requestID As Long)
Sock = Sock + 1
Load WsServer(Sock)
WsServer(Sock).Accept requestID
Label1.Caption = "已连接用户: " & Sock
End SubPrivate Sub WsServer_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim s As String
Dim i As Integer
WsServer(Index).GetData s
For i = 0 To Sock Step 1
If WsServer(i).State = sckConnected Then
MsgBox "OK"
WsServer(i).SendData s
End If
Next i
End Sub
要用NAT,也是地址转换,因为外网访问内网不能直接访问的,要通过服务器给你打洞的!
其实QQ的东西很多,随便一个就够我们研究的拉
我把握知道的列举一下
1。UDP穿NET(点对点) 这个是关键技术,QQ的聊天,文件,语音,视频,都是采用的他,你想像1下要保证穿透NET,不丢包,不错发是多么艰巨的任务阿
2。UDP使用代理服务器连接 SOCKETS4,SOCKETS5,HTTP代理的UDP传送哪一个不值得研究
3。多服务器同步,他可以自动检测他的4台服务器选择最快的登陆,还要保证4个服务器同步
4。细节上QQ的聊天窗体,谁知道是什么控件作的(握正准备用DHTML实现,资料太少啊),可以支持背景。播放音乐,视频。。
握觉得整个技术的核心是UDP的理解,我不敢想象,至少很多我不会实现
汗~~~~~~~~~~~~~~