真不好意思,想再請問一下,我封包傳送測試程式碼如下(另外我還有一支程式在接收第二片網路卡收到的資料封包),可以Run不會有錯誤出現,但電腦送出的資料封包,還是直接從第一片網路卡經由內部送到第二片網路卡,並不會傳送到外部設備再回到電腦,不曉得我是否有那裏做錯,或是其他的問題,不曉得你們是否知道問題出在那兒?可以再幫一下忙嗎?感激不盡!
Dim DataString As String
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function setsockopt Lib "wsock32.dll" (ByVal s As Long, ByVal level As Long,
ByVal optname As Long, optval As Any, ByVal optlen As Long) As Long
Dim errorcode As Integer
Const SOL_SOCKET = 65535 ' Options for socket level.
Dim SO_DONTROUTE As Boolean
Private Sub Command1_Click()
DataString = String(1460, "9")
SO_DONTROUTE = True
Sock1.Protocol = sckUDPProtocol
Sock1.RemoteHost = "192.168.10.45"
Sock1.RemotePort = 1001
Sock1.Bind 440, "192.168.20.46"
errorcode = setsockopt(Sock1.SocketHandle, SOL_SOCKET, SO_DONTROUTE, 1, 4)
Do Until txtPackageNum(0).Text = 0
Call Sleep(15)
Sock1.SendData DataString
txtPackageNum(0).Text = txtPackageNum(0).Text - 1
DoEvents
Loop
End Sub
Dim DataString As String
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function setsockopt Lib "wsock32.dll" (ByVal s As Long, ByVal level As Long,
ByVal optname As Long, optval As Any, ByVal optlen As Long) As Long
Dim errorcode As Integer
Const SOL_SOCKET = 65535 ' Options for socket level.
Dim SO_DONTROUTE As Boolean
Private Sub Command1_Click()
DataString = String(1460, "9")
SO_DONTROUTE = True
Sock1.Protocol = sckUDPProtocol
Sock1.RemoteHost = "192.168.10.45"
Sock1.RemotePort = 1001
Sock1.Bind 440, "192.168.20.46"
errorcode = setsockopt(Sock1.SocketHandle, SOL_SOCKET, SO_DONTROUTE, 1, 4)
Do Until txtPackageNum(0).Text = 0
Call Sleep(15)
Sock1.SendData DataString
txtPackageNum(0).Text = txtPackageNum(0).Text - 1
DoEvents
Loop
End Sub
全站熱搜
留言列表