0
우선 내 영어에 대해 아프다. 내 문제는 내가 프레스 기계에 전자 회로를 가지고있다. 이 회로는 문제없이 내 서버로 데이터를 전송합니다. 데이터를받은 후에는 명령을 보내야합니다. LAN에서는 매력처럼 작동합니다. 그러나 lan 회로에서 어떻게 든 내 명령을받지 못한다. NAT 뒤에있는 컴퓨터에 udp로 보낼 수있는 아이디어가 있습니까? 내 코드는 울부 짖습니다. 도움을 청합니다.NAT 뒤에 기계에 Udp 패킷
private void ReceiveMessage()
{
while (true)
{
try
{
var remoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
var content = _udpClient.Receive(ref remoteIpEndPoint);
if (content.Length > 0)
{
var message = Encoding.ASCII.GetString(content);
var smsg = message.Split('|');
var pin1 = int.Parse(smsg[13]);
var pin2 = int.Parse(smsg[14]);
var isChanged = CheckChanges(smsg[1]);
if (isChanged == 1)
{
**var recvpt = new IPEndPoint(remoteIpEndPoint.Address, remoteIpEndPoint.Port);
var client = new UdpClient();
var cmd1 = "CP1S" + _pin1Time + "F";
var cmd2 = "CP2S" + _pin2Time + "F";
var senddata1 = Encoding.UTF8.GetBytes(cmd1);
var senddata2 = Encoding.UTF8.GetBytes(cmd2);
client.Send(senddata1, senddata1.Length, recvpt);
client.Send(senddata2, senddata2.Length, recvpt);
client.Close();**
// UpdateChanges(smsg[1]);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToStrin<wbr ></wbr>g());
}
}
}
}