Создание веб-сокета для Android MMO с использованием Unity3d и Node.js
Я занимаюсь разработкой Android-игры MMO для Android в бесплатной версии Unity. У меня установлен node.js на моем компьютере. должен ли я использовать следующий код на стороне сервера-клиента, потому что, когда я пытался его протестировать, я мог запустить скрипт на стороне сервера, но не мог выяснить, подключается клиент или нет. Также, когда я пытался собрать apk, unity выдает ошибку, говоря: "использование System.Net.Sockets требует профессиональной версии unity". Пожалуйста помоги!!
сторона сервера (на node.js)
`var net = require('net');
var tcp_server = net.createServer(function(socket)
{
socket.write('hello\n');
socket.end('world\n');
});
tcp_server.listen(8000);
console.log("Server Running...");`
клиентская часть (в скрипте Unity C#)
`using UnityEngine;
using System.Collections;
using System.Net.Sockets;
using System.Text;
public class tcpClient : MonoBehaviour
{
static void Main(string[] args)
{
Debug.Log("start");
TcpClient tcpClient = new TcpClient();
tcpClient.Connect("127.0.0.1", 8000);
Debug.Log ("Connected");
NetworkStream clientStream = tcpClient.GetStream();
byte[] message = new byte[4096];
int bytesRead;
bytesRead = 0;
try
{
// Read up to 4096 bytes
bytesRead = clientStream.Read(message, 0, 4096);
}
catch
{
/*a socket error has occured*/
}
//We have read the message.
ASCIIEncoding encoder = new ASCIIEncoding();
Debug.Log(encoder.GetString(message, 0, bytesRead));
//Console.WriteLine(encoder.GetString(message, 0, bytesRead));
tcpClient.Close();
}
}`
2 ответа
Самый простой способ, вероятно, будет использовать socket.io
Прежде всего, если вы хотите использовать собственный сокет, вам нужен Unity3D Pro.
Но есть и другие способы решения этой проблемы.
Вы можете использовать один из них. Вы можете найти их в Unity Asset Store (я знаю, что, может быть, больше, чем эти активы). (Они не бесплатны, но дешевле, чем Unity Pro).
После этого @ploutch упомяните Socket.IO. Это действительно хорошо.
Но не забывайте, что Unity3D имеет свою собственную сеть. Вы можете создать сервер и присоединиться к клиенту, используя его. Также некоторые провайдеры, которые действительно хороши и дают дополнительные возможности для вас.
Подобно: