Vb6 需要在winsock控件中添加功能
我正在创建一个包含客户端和代理服务器应用程序的应用程序。这两个应用程序都使用winsock控件。我正在使用IP地址将客户端连接到服务器。服务器应用程序有问题。它只显示我不想要的内部IP地址,我想要的是外部IP地址,即Wan IP地址。是否可以使用winsock?如果您有示例代码,请提供。此外,我需要一个功能服务器,它将在列表框中选择连接到服务器的客户端,它将断开该客户端与服务器的连接。请提供代码。一旦连接到服务器,如果用户使用Internet,或任何其他程序,IP将显示为服务器的IP(如代理服务器)。 这是服务器的代码Vb6 需要在winsock控件中添加功能,vb6,winsock,Vb6,Winsock,我正在创建一个包含客户端和代理服务器应用程序的应用程序。这两个应用程序都使用winsock控件。我正在使用IP地址将客户端连接到服务器。服务器应用程序有问题。它只显示我不想要的内部IP地址,我想要的是外部IP地址,即Wan IP地址。是否可以使用winsock?如果您有示例代码,请提供。此外,我需要一个功能服务器,它将在列表框中选择连接到服务器的客户端,它将断开该客户端与服务器的连接。请提供代码。一旦连接到服务器,如果用户使用Internet,或任何其他程序,IP将显示为服务器的IP(如代理服务
Option Explicit
Dim iSockets As Integer
Dim sServerMsg As String
Dim sRequestID As String
Private Sub Form_Load()
Form1.Show
lblHostID.Caption = Socket(0).LocalHostName
lblAddress.Caption = Socket(0).LocalIP
Socket(0).LocalPort = 1007
sServerMsg = "Listening to port: " & Socket(0).LocalPort
List1.AddItem (sServerMsg)
Socket(0).Listen
End Sub
Private Sub socket_Close(Index As Integer)
sServerMsg = "Connection closed: " & Socket(Index).RemoteHostIP
List1.AddItem (sServerMsg)
Socket(Index).Close
Unload Socket(Index)
iSockets = iSockets - 1
lblConnections.Caption = iSockets
End Sub
Private Sub socket_ConnectionRequest(Index As Integer, ByVal requestID As Long)
sServerMsg = "Connection request id " & requestID & " from " & Socket(Index).RemoteHostIP
If Index = 0 Then
List1.AddItem (sServerMsg)
sRequestID = requestID
iSockets = iSockets + 1
lblConnections.Caption = iSockets
Load Socket(iSockets)
Socket(iSockets).LocalPort = 1007
Socket(iSockets).Accept requestID
End If
End Sub
我使用以下代码显示哪些客户端连接到我的服务器
Private Sub wskServer_ConnectionRequest(ByVal requestID As Long)
With wskServer
If .State <> sckClosed Then
.Close
End If
.Accept requestID
ShowData "Connection from " & .RemoteHostIP & vbCrLf, True, vbBlack
End With 'wskServer
End Sub
Private Sub wskServer_ConnectionRequest(ByVal requestID尽可能长)
使用wskServer
如果.State sckClosed,则
关
如果结束
.接受请求ID
ShowData“连接自”&.RemoteHostIP和vbCrLf,True,vbBlack
以“wskServer”结尾
端接头
在我的例子中,showdata函数以监视形式显示文本,但您可以将文本写入文件或简单的msgbox显示的IP将是服务器看到的IP,因此,如果您通过内部网络连接,那么它将显示提供解决方案的内部ipthank。这非常有帮助。现在我想知道的是,当客户端应用程序连接到服务器应用程序时(两者都使用winsock控件)客户端请求应该从服务器应用程序转发到主服务器。请建议如何实现此目的。我需要在服务器应用程序上进行一些编码。请提供示例代码。非常紧急。再次感谢。我将接受此作为答案,并将发布新问题,请对此进行评论