首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

关于VB6.0处理返回的UDP数据包的有关问题!

2012-03-07 
关于VB6.0处理返回的UDP数据包的问题!!!先上代码:Dim ip As StringDim port As IntegerDim bao(23) As Byt

关于VB6.0处理返回的UDP数据包的问题!!!
先上代码:

Dim ip As String
Dim port As Integer
Dim bao(23) As Byte, receive() As Byte

Sub Command1_Click()
  bao(0) = &HFF
  bao(1) = &HFF
  bao(2) = &HFF
  bao(3) = &H54
  bao(4) = &H53
  bao(5) = &H6F
  bao(6) = &H75
  bao(7) = &H72
  bao(8) = &H63
  bao(9) = &H65
  bao(10) = &H20
  bao(11) = &H45
  bao(12) = &H6E
  bao(13) = &H67
  bao(14) = &H69
  bao(15) = &H6E
  bao(16) = &H65
  bao(17) = &H20
  bao(18) = &H51
  bao(19) = &H75
  bao(20) = &H65
  bao(21) = &H72
  bao(22) = &H79
  Winsock1.SendData bao
End Sub

Sub Command2_Click()
  ip = Text_ip.Text
  port = Text_port.Text
  Winsock1.Connect ip, port
  Command2.Enabled = False
End Sub

Sub Winsock1_Close()
  Command1.Enabled = False
  Command2.Enabled = True
End Sub

Sub winsock1_connect()
  Command1.Enabled = True
  Command2.Enabled = False
End Sub

Sub winsock1_dataarrival(ByVal bytestotal As Long)
  Winsock1.GetData receive
  Text1.Text = Chr(receive(4))
End Sub

想在Text1中显示receive(4)
这个代码是查看CS服务器状态的...可是有问题...
怎么弄?用的是UDP协议.
麻烦高手们帮帮我.我是新手.
这是两个相关的文章:
http://zhidao.baidu.com/question/118636687.html?fr=qrl&cid=93&index=1&fr2=query
http://banchen.bokee.com/6772048.html
我QQ:960537874
谢谢了.


[解决办法]
1、是否已经添加了winsock控件。
2、udp协议不会产生Winsock1_Close()事件,也不会产生winsock1_connect()事件。
3、udp协议要绑定一个本地端口。

建议你系统的学习一下winsock的用法,再去做程序。
[解决办法]
Winsock 控件


Winsock 控件对用户来说是不可见的,它提供了访问 TCP 和 UDP 网络服务的方便途径。Microsoft Access、Visual Basic、Visual C++ 或 Visual FoxPro 的开发人员都可使用它。为编写客户或服务器应用程序,不必了解 TCP 的细节或调用低级的 Winsock APIs。通过设置控件的属性并调用其方法就可轻易连接到一台远程机器上去,并且还可双向交换数据。

TCP 基础

数据传输协议允许创建和维护与远程计算机的连接。连接两台计算机就可彼此进行数据传输。

如果创建客户应用程序,就必须知道服务器计算机名或者 IP 地址(RemoteHost 属性),还要知道进行“侦听”的端口(RemotePort 属性),然后调用 Connect 方法。

如果创建服务器应用程序,就应设置一个收听端口(LocalPort 属性)并调用 Listen 方法。当客户计算机需要连接时就会发生 ConnectionRequest 事件。为了完成连接,可调用 ConnectionRequest 事件内的 Accept 方法。

建立连接后,任何一方计算机都可以收发数据。为了发送数据,可调用 SendData 方法。当接收数据时会发生 DataArrival 事件。调用 DataArrival 事件内的 GetData 方法就可获取数据。

UDP 基础

用户数据文报协议 (UDP) 是一个无连接协议。跟 TCP 的操作不同,计算机并不建立连接。另外 UDP 应用程序可以是客户机,也可以是服务器。

为了传输数据,首先要设置客户计算机的 LocalPort 属性。然后,服务器计算机只需将 RemoteHost 设置为客户计算机的 Internet 地址,并将 RemotePort 属性设置为跟客户计算机的 LocalPort 属性相同的端口,并调用 SendData 方法来着手发送信息。于是,客户计算机使用 DataArrival 事件内的 GetData 方法来获取已发送的信息。

热点排行