내 문제는 내 UDP 클라이언트가 네트워크에 아무 것도 연결되어 있지 않은 것으로 연결되어 있다고보고하는 것입니다. 나는 7777의 컴퓨터 포트에서 포트 7775에서 IP 10.10.10.10을 사용하여 PLC 모듈에 연결하려고합니다. 이더넷 또는 무선 연결이 켜져 있지 않아도 클라이언트의 Connect() 기능이 작동합니다.내 UDP가 연결되지 않는다고 말하는 이유는 무엇입니까?
내 문제의 핵심은 내가 매우 이상한 행동을 얻을 연결() 명령 다음에 브레이크 포인트를 삽입하면 내가
Public Sub Connect()
Try
If (plcType = 0) Then
udpClient = New UdpClient(7777)
udpClient.Client.Connect(IPAddress, port)
SendCommand("ME")
End If
Catch
MsgBox("Could not connect to the controller, please check IP address." & vbCrLf & Err.Description)
'Connect()
End Try
End Sub
을 믿고 내 연결 코드를 중심으로 돌아 가지. 중단 점에 도달하면 udpClient.Client의 속성을 살펴보면 연결되어 있다고 표시되지만 그 속성을 그대로두고 다시 보면 갑자기 변경되고 연결되지 않는다고 말하고 프로그램에서 올바르게 읽습니다. 그 시점 이후에 연결되어 있지 않습니다.
이 문제는 두 번째 컴퓨터를 연결하고 같은 컴퓨터에서 동일한 프로그램을 실행하려고 시도한 후에 만 나타납니다. 어느 컴퓨터도 제대로 장치와 더 이상 대화 할 수 없지만 이해할 수는 있지만 분명히 내 컴퓨터 중 하나가 장치와 통신하고 있다고 생각하는 이유를 이해할 수 없습니다. 도움 주셔서 감사합니다.
업데이트 : 모든 네트워크가 비활성화되거나 연결이 끊어 질 때만 사용 가능한 모든 연결이이 조건을 트리거합니다. 그러나 해당 IP의 네트워크에 장치가없는 경우에도 연결된 것으로보고됩니다.
[**'UdpClient.Client' **] (https://msdn.microsoft.com/en-us/library/system.net.sockets.udpclient.client (v = vs.110) .aspx)는'UdpClient'와 다르게 행동 할 수있는 기본'Socket'입니다. [**'UdpClient.Connect()'method **] (https://msdn.microsoft.com/en-us/library/system.net.sockets.udpclient.connect (v = vs. 110) .aspx) 대신. –
Visual Vincent 그냥 똑같은 동작을 시도했습니다. : – Sean
UDP에 연결의 개념이 없습니다. 실제로 무엇을 감지하고 싶습니까 – CodeCaster