【发布时间】:2011-03-13 08:37:51
【问题描述】:
您好,我正在用 VB6 编写一个套接字客户端/服务器应用程序。 我有以下代码
Private Sub sockMain_ConnectionRequest(ByVal requestID As Long)
If sockMain.State <> sckClosed Then
sockMain.Close
End If
sockMain.Accept requestID
Debug.Print "Accepted connection from: " & sockMain.RemoteHostIP & vbCrLf
End Sub
它打印 IP 但最后一位数字丢失的例子,如果我的连接来自“192.168.1.123”,那么它只显示“192.168.1.12”
【问题讨论】:
-
如果建立了套接字连接,您确定连接是从 192.168.1.123 建立的。您是否检查了 tcpview 软件中显示为远程 IP 的 IP。
-
如果 IP 显示 192.168.1.123 那么我的套接字 API 没有任何问题。问题在于您打印 IP 的方式。
-
我能够看到活动连接并能够传输数据,并且在调试模式下,如果我检查连接状态,则套接字仅处于连接状态。连接没有问题。但是控制 RemoteHostIP 总是通过截断最后一位来显示 IP,我是从本地连接客户端,我得到 127.0.0。而不是 127.0.0.1
标签: vb6 tcp network-programming sockets winsock