gpt4 book ai didi

c# - listener.AcceptTcpClient() 在 c# 中不起作用,在 Java 中起作用

转载 作者:行者123 更新时间:2023-12-03 12:04:39 24 4
gpt4 key购买 nike

我有一个用 Java 实现的套接字监听器应用程序,并且工作正常

C#代码:

        IPAddress serverAddress = IPAddress.Parse("127.0.0.1");
TcpListener listener = new TcpListener(serverAddress, 1234);
listener.Start();

while (true)
{
TcpClient client = listener.AcceptTcpClient();

NetworkStream stream = client.GetStream();
byte[] data = new byte[client.ReceiveBufferSize];
int bytesRead = stream.Read(data, 0, Convert.ToInt32(client.ReceiveBufferSize));
string request = Encoding.ASCII.GetString(data, 0, bytesRead);
Console.WriteLine(request);
}

白色它在 Java 中运行良好:
ServerSocket server = new ServerSocket(1234);
Socket socket = server.accept();

在 java 中,一个新的客户端连接开始了,我设法读取了数据。在 C# 中,它根本没有创建任何 TcpClient。

请帮忙!

最佳答案

尝试用这个替换你的 TcpLister 初始化:

TcpListener listener = new TcpListener(IPAddress.Any, 1234);

当您使用“127.0.0.1”时,您将服务器套接字绑定(bind)到环回地址。只有同一台机器上的客户端才能与使用环回 IP 的服务器通信。

关于c# - listener.AcceptTcpClient() 在 c# 中不起作用,在 Java 中起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33204751/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com