我需要在我的应用程序中使用UDP和TCP连接,
以下是服务器端代码:
我首先建立了Tcp连接,然后尝试从客户端向服务器发送数据。通过我添加的断点,我可以看到Tcp部分正常工作,客户端完成程序,但在服务器上,它在接收部分卡住了,就像没有数据到达一样。当我删除服务器和客户端中的tcp代码部分(前两行)时,它能够正常工作并显示结果消息。
有人知道为什么我无法从客户端获取数据吗?
提前感谢。
TcpClient/TcpListener
很少被使用,但UDP则是主要的使用方式。以下是服务器端代码:
static void Main(string[] args)
{
TcpListener listener = new TcpListener(IPAddress.Any, 25655);
listener.Start();
Socket sck = listener.AcceptTcpClient().Client;
UdpClient udpServer = new UdpClient(1100);
IPEndPoint remoteEP = new IPEndPoint(IPAddress.Any, 0);
var data = udpServer.Receive(ref remoteEP);
string result = Encoding.UTF8.GetString(data);
Console.WriteLine(result);
Console.Read();
}
这是客户端:
static void Main(string[] args)
{
TcpClient client = new TcpClient("127.0.0.1", 25655);
Socket sck = client.Client;
UdpClient udpclient = new UdpClient();
IPEndPoint ep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1100); // endpoint where server is listening
udpclient.Connect(ep);
byte[] data = UTF8Encoding.UTF8.GetBytes("Hello");
udpclient.Send(data,data.Length);
}
我首先建立了Tcp连接,然后尝试从客户端向服务器发送数据。通过我添加的断点,我可以看到Tcp部分正常工作,客户端完成程序,但在服务器上,它在接收部分卡住了,就像没有数据到达一样。当我删除服务器和客户端中的tcp代码部分(前两行)时,它能够正常工作并显示结果消息。
有人知道为什么我无法从客户端获取数据吗?
提前感谢。