使用Unity3d和Node.js为android MMO创建websocket
我正在用Unity的免费版本开发一款android MMO android游戏。我的电脑上安装了node.js。我应该使用以下服务器客户端代码吗?因为当我尝试测试它时,我可以运行服务器端脚本,但无法确定客户端是否正在连接。另外,当我尝试构建apk时,unity给出了一个错误,说“使用System.Net.Sockets需要unity的pro版本”。请帮助 服务器端(在node.js上) 客户端(在unity c#脚本中)使用Unity3d和Node.js为android MMO创建websocket,android,node.js,unity3d,websocket,mmo,Android,Node.js,Unity3d,Websocket,Mmo,我正在用Unity的免费版本开发一款android MMO android游戏。我的电脑上安装了node.js。我应该使用以下服务器客户端代码吗?因为当我尝试测试它时,我可以运行服务器端脚本,但无法确定客户端是否正在连接。另外,当我尝试构建apk时,unity给出了一个错误,说“使用System.Net.Sockets需要unity的pro版本”。请帮助 服务器端(在node.js上) 客户端(在unity c#脚本中) 最简单的方法可能是使用socket.io 首先,如果您想使用本机套接字,您
最简单的方法可能是使用socket.io
首先,如果您想使用本机套接字,您需要Unity3D Pro 但是还有其他方法来处理这个问题 你可以用其中一个。你可以在Unity资产商店找到它们。(我知道这些可能比这些资产更多)。(它们不是免费的,但比Unity pro便宜) 在那之后,@ploutch提到。真的很好 但别忘了Unity3D有自己的功能。您可以创建服务器,也可以使用它连接客户端。还有一些非常好的供应商,为您提供了额外的选择 比如:
`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...");`
`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();
}
}`