我正在测试ActionBar.SetDisplayShowTitleEnabled(false);
作为TCP服务器,node.js
作为我即将到来的项目的客户端。
我创建了一个简单的聊天界面Unity3d
,可以从服务器发送和接收数据。一切似乎工作正常,直到我测试2个客户端,一个在unity3d
和另一个Unity editor
,每当我发送消息时,服务器立即拾取并显示在Unity application
。但是当我点击关注客户端时,客户端只更新显示界面,无论是terminal
还是Unity editor
本身。
以下是我的代码:
Node.js的
Unity application
client.cs
net = require('net');
var clients = [];
net.createServer(function (socket) {
socket.name = socket.remoteAddress + ":" + socket.remotePort
clients.push(socket);
socket.write("Welcome " + socket.name + "\n");
broadcast(socket.name + " joined the chat\n", socket);
socket.on('data', function (data) {
broadcast(socket.name + "> " + data, socket);
});
socket.on('end', function () {
clients.splice(clients.indexOf(socket), 1);
broadcast(socket.name + " left the chat.\n");
});
function broadcast(message, sender) {
clients.forEach(function (client) {
if (client === sender) return;
client.write(message);
});
process.stdout.write(message)
}
}).listen(5000);
// Put a friendly message on the terminal of the server.
console.log("Chat server running at port 5000\n");
缺少什么?如何才能在我的所有客户端界面上看到即时更新?
答案 0 :(得分:1)
这不是由您的代码引起的,而是由Unity编辑器引起的。默认情况下,统一编辑器不会在后台运行应用程序。
您可以在Edit > Project Settings > Settings-Player
应该有一个字段Run in background
。打开它,即使你不专注也应该更新