클라이언트 & 프록시 서버 응용 프로그램을 포함하는 응용 프로그램을 만들고 있습니다. 두 응용 프로그램 모두 winsock 컨트롤을 사용합니다. IP 주소를 사용하여 클라이언트를 서버에 연결하고 있습니다. 서버에 문제가 있습니다. 그것은 원하지 않는 내부 IP 주소만을 보여줍니다. 원하는 것은 외부 IP 주소 ieWan IP 주소입니다. winsock을 사용하면 가능합니까? 예제 코드가 있으면 제공하십시오. 또한 하나의 기능 서버가 필요합니다. 목록 상자에 서버에 연결된 클라이언트를 선택합니다 & 서버에서 해당 클라이언트의 연결을 끊습니다. 코드를 제공하십시오. 또한 서버에 연결되면 사용자가 인터넷이나 다른 프로그램을 사용하면 IP가 서버의 IP로 표시됩니다 (프록시와 유사 함). 섬기는 사람). 다음은 서버 코드입니다.winsock 컨트롤에 기능을 추가해야합니다.
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
표시된 IP는 서버에서 볼 수있는 IP가 될 것이므로 내부 네트워크를 통해 연결하면 내부 IP가 표시됩니다 – Hrqls
해결책을 제공해 주셔서 감사합니다. 매우 도움이되었습니다. 지금 알았습니다. 내가 원하는 것은 클라이언트 응용 프로그램이 서버 a에 연결되었을 때입니다. pp (둘 다 winsock 컨트롤을 사용하고 있습니다.) 클라이언트 요청은 서버 app..please에서 주 서버로 전달되어야합니다.이 방법을 달성하는 방법을 제안하십시오. 서버 app ...에 대한 코딩을 수행해야합니다. 샘플 코드를 제공하십시오. 긴급하다. 다시 한번 감사한다 – Rudys
나는 이것을 대답으로 받아 들일 것이고 & 새로운 질문을 게시 할 것이다. – Rudys