unity socket联机代码用python写
以下是Python代码示例,用于使用Unity中的Socket进行联机:
Unity端:
using UnityEngine;
using System.Net.Sockets;
using System.Text;
public class SocketClient : MonoBehaviour {
private TcpClient client;
private NetworkStream stream;
// 连接服务器
public void Connect() {
client = new TcpClient();
client.Connect("127.0.0.1", 8888);
stream = client.GetStream();
}
// 发送消息
public void SendMessage(string message) {
byte[] data = Encoding.UTF8.GetBytes(message);
stream.Write(data, 0, data.Length);
Debug.Log("Send message: " + message);
}
// 接收消息
public string ReceiveMessage() {
byte[] data = new byte[1024];
int length = stream.Read(data, 0, data.Length);
string message = Encoding.UTF8.GetString(data, 0, length);
Debug.Log("Receive message: " + message);
return message;
}
// 关闭连接
public void Close() {
stream.Close();
client.Close();
}
}
Python端:
import socket
server_address = ('127.0.0.1', 8888)
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(server_address)
sock.listen(1)
print('Waiting for a connection...')
connection, client_address = sock.accept()
try:
print('Connection from', client_address)
while True:
data = connection.recv(1024)
if not data:
break
message = data.decode('utf-8')
print('Receive message:', message)
response = 'Hello, ' + message
connection.sendall(response.encode('utf-8'))
print('Send message:', response)
finally:
connection.close()
这个示例只是一个简单的回声服务器,当接收到Unity客户端发送的消息时,它会将其发送回客户端。你可以根据需要修改这个示例来实现你自己的联机逻辑。
原文地址: https://www.cveoy.top/t/topic/bkpi 著作权归作者所有。请勿转载和采集!