gpt4 book ai didi

C# 客户端 Python 服务器 : Connection refused

转载 作者:太空宇宙 更新时间:2023-11-03 20:24:29 31 4
gpt4 key购买 nike

我正在研究 C#(客户端)和 Python(服务器)之间的基本套接字通信,但我不明白客户端出现此错误的原因:

[错误] 致命的未处理异常:System.Net.Sockets.SocketException:连接被拒绝 在 System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP) [0x00159] 在/private/tmp/monobuild/build/BUILD/mono-2.10.9/mcs/class/System/System.Net.Sockets/Socket_2_1.cs:1262 在 System.Net.Sockets.TcpClient.Connect (System.Net.IPEndPoint remote_end_point) [0x00000] 在/private/tmp/monobuild/build/BUILD/mono-2.10.9/mcs/class/System/System.Net.Sockets/TcpClient.cs:284 在 System.Net.Sockets.TcpClient.Connect(System.Net.IPAddress[] ipAddresses,Int32 端口)[0x000b3] 在/private/tmp/monobuild/build/BUILD/mono-2.10.9/mcs/class/System/System.Net.Sockets/TcpClient.cs:355

我的程序非常简短,所以我想这是一个菜鸟问题,但我就是不明白。我想要的只是一个客户端向服务器发送一条消息,该消息将在控制台上打印出来。

这是C#客户端(错误来自:socket.Connect("localhost",9999);)

using System;
using System.Net.Sockets;

namespace MyClient
{
class Client_Socket{
public void Publish(){
TcpClient socket = new TcpClient();
socket.Connect("localhost",9999);
NetworkStream network = socket.GetStream();
System.IO.StreamWriter streamWriter= new System.IO.StreamWriter(network);
streamWriter.WriteLine("MESSAGER HARGONIEN");
streamWriter.Flush();
network.Close();
}

}
}

和 Python 服务器:

from socket import *

if __name__ == "__main__":
while(1):
PySocket = socket (AF_INET,SOCK_DGRAM)
PySocket.bind (('localhost',9999))
Donnee, Client = PySocket.recvfrom (1024)
print(Donnee)

感谢您的帮助。

最佳答案

你有两个问题。首先是您要绑定(bind)到 localhost。如果您希望其他计算机能够连接,您可能需要绑定(bind)到 0.0.0.0:

PySocket.bind (('0.0.0.0',9999))

另一个问题是您使用 UDP 服务并尝试使用 TCP 连接。如果你想使用 UDP,你可以使用 UdpClient而不是 TcpClient .如果您想使用 TCP,则必须使用 SOCK_STREAM而不是 SOCK_DGRAM并使用 listen , accept , 和 recv而不是 recvfrom .

关于C# 客户端 Python 服务器 : Connection refused,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11386701/

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