流代码传输UDP,但未被服务器确定读取
本文关键字:服务器 读取 代码 传输 UDP | 更新日期: 2023-09-27 18:23:46
我正在使用Flowcode技术对微控制器16F877A进行编程。
根据流程代码,我将3字节UDP数据包发送到端口23456上侦听的服务器。
问题是服务器永远不会接收到这些数据包。我使用wireshark进行跟踪,它能够检测到3个字节及其内容。
下面是我使用c#的服务器代码
const int port_number=23456;
TcpListener server=new TcpListener( IPAddress.Any ,port_number);
Socket soc;
NetworkStream s;
bool exit=false;
Thread mythread;
线程代码在这里
void method()
{
try
{
server.Start();
soc = server.AcceptSocket();
s = new NetworkStream(soc);
StreamReader sr = new StreamReader(s);
textBox1.Text += sr.ReadLine();
if(soc.Connected==true && exit==false)
method();
}
catch(Exception es)
{
Console.WriteLine("{0}",es.Message);
}
}
你认为我需要改变什么才能读取并处理这3个字节吗。
我真的很感激你的帮助。
您正在使用TcpListening,但您正在发送UDP数据包?尝试UDPClient类:http://msdn.microsoft.com/en-us/library/system.net.sockets.udpclient.aspx
编辑详细说明一下。TCP客户端永远不会接收UDP数据包,因为TCP和UDP是套接字级别的两个独立协议。套接字将看到您正在侦听TCP连接,它将接收UDP数据报,看不到侦听器,并将其丢弃。