Tob*_*rto 5 c# python sockets tcp python-3.x
我想使用简单的套接字应用程序将字节数据从 Python 客户端发送到 C# 服务器。C# 服务器与 C# 客户端一起工作正常!
但是当我尝试使用 Python Socket 将数据发送到 C#-Server 时,数据永远不会到达。
我不太习惯 Python,有人可以检查我的代码并提示我如何在我的 c# 服务器中接收数据吗?
我在代码中犯了错误吗?这可能是将字节数据从 Python 发送到 C# 的错误方式吗?有更好的解决方案吗?
Python客户端:
import socket
TCP_IP = '127.0.0.1'
TCP_PORT = 5005
MESSAGE = b'Hello World !'
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))
s.send(MESSAGE)
s.close()
Run Code Online (Sandbox Code Playgroud)
C#服务器:
private void start()
{
Console.WriteLine("Port: ");
_port = Console.ReadLine();
byte[] buffer = new Byte[1024];
IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), int.Parse(_port));
Socket listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
listener.Bind(localEndPoint);
listener.Listen(10);
while (true)
{
Console.WriteLine("Waiting for a connection...");
Socket socket = listener.Accept();
data = null;
while (true)
{
int bytesRec = socket.Receive(buffer);
data += Encoding.ASCII.GetString(buffer, 0, bytesRec);
if (data.IndexOf("<EOF>") > -1)
{
break;
}
}
Console.WriteLine("Text received : {0}", data);
byte[] msg = Encoding.ASCII.GetBytes(data);
socket.Send(msg);
socket.Shutdown(SocketShutdown.Both);
socket.Close();
}
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
Console.WriteLine("\nPress ENTER to continue...");
Console.Read();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2891 次 |
| 最近记录: |