【发布时间】:2021-05-28 00:22:01
【问题描述】:
下面你可以看到python服务器和C#客户端脚本,过程是发送和接收数据包。
我通过云连接到服务器,使用Putty连接它,客户端是使用Unity和C#脚本创建的应用程序。
server.py:
import socket
port = 80
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = socket.gethostname()
s.bind((host, port))
s.listen(5)
print("server listening...")
while True:
client, adr = s.accept()
print(f"got connection from ",adr)
client.send(bytes("welcome from the server","utf-8"))
data = client.recv(1024)
print("server received", data.decode("utf-8"))
client.close()
client.cs:我在这里使用 WebSocketSharp 库。
public class client: MonoBehaviour
{
byte[] buffer = Encoding.UTF8.GetBytes("Hello I'm the client");
void Start()
{
using (WebSocket ws = new WebSocket("ws://arb-server.tunis-plm.com/"))
{
ws.Connect();
ws.Send(buffer);
ws.OnMessage += Ws_OnMessage;
}
}
private void Ws_OnMessage(object sender, MessageEventArgs e)
{
Debug.Log(e.Data);
}
}
这里的问题是我无法从服务器接收数据,对于客户端也是如此,我无法从客户端接收数据,也不知道我的消息是否发送,但是,在服务器控制台 我收到了来自客户端的连接,这要归功于服务器脚本中的这两行代码:
client, adr = s.accept()
print(f"Got connection from ",adr)
所以结果是 Got connection from ('193.168.1.255',3112)。
这是服务器端的完整输出:
我努力解决了这个问题,但还没有结果,如果有人可以帮助我,我将不胜感激。
【问题讨论】:
标签: python c# unity3d websocket