Тема: Node.JS + MongoDB
Показать сообщение отдельно
Старый 01.11.2013, 07:58   #57
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Node.JS + MongoDB

Сообщение от moka Посмотреть сообщение
Прикольно.
Как понимаю нужен обмен Policy чтобы сделать нормальное общение? (также как в flash'е?).
Да, WebPlayer Unity так же проверяет возможность подключения как и флеш.

Сообщение от moka Посмотреть сообщение
packetProcesors - как понимаю ты пушаешь функцию потом которая будет вызываться для каждого пакета.
Да там похоже на middleware в express

Сообщение от moka Посмотреть сообщение
Как тебе подход как в socket.io? В плане имён пакетов и подпиской на них?
Вчера написал по просьбе ant2on'а нечто похожее на socket.io как враппер над своим сервером.
Node js
var util = require('util');
var 
NodeSharpTCP = require('NodeSharpTCP');

// полиси сервер
var SocketPolicyServer NodeSharpTCP.SocketPolicyServer;
SocketPolicyServer.listen(__dirname '/public/crossdomain.xml'843);

// евент сервер
var EventServer NodeSharpTCP.EventServer;

var 
server = new EventServer();

server.on('connection', function(client){

    
console.log('Clients: 'server.clients.length);

    
client.emit('welcome', {idclient.id});

    
client.on('disconnect', function(){
        
console.log('Clients: 'server.clients.length);
    });

    
client.on('message', function(msg){
        
console.log('message: 'util.inspect(msg));
        
client.sendMessage(msg);
    });

    
client.on('custom-event', function(data){
        
console.log('custom-event: 'util.inspect(data));
        
client.emit('custom-event'data);
    });
});


server.listen(8124, function(){
    
console.log('Event Server bound')
}); 
Unity/C#
using System.Collections.Generic;
using BinarySerialization;
using UnityEngine;
using System.Collections;

public class 
EventServerClientTest MonoBehaviour
{
    private 
EventServerClient _client;

    public 
void Start ()
    {
        
_client GetComponent<EventServerClient>();

        
_client.On("connect"OnConnect);
        
_client.On("welcome"OnWelcome);
        
_client.On("custom-event"OnCustomEvent);


        
_client.Connect();
    }

    private 
void OnCustomEvent(object obj)
    {
        
Debug.Log("Custom Event Received: " obj.ToDebugString());
    }

    private 
void OnWelcome(object obj)
    {
        var 
welcomeEvent = (Dictionary<stringobject>) obj;
        
Debug.Log("Welcome: " welcomeEvent["id"]);
    }


    private 
void OnConnect(object obj)
    {
        
Debug.Log("OnConnect");
        
_client.Emit("custom-event", new object[]{1true"three"});
    }


__________________
Blitz3d to Unity Wiki

Последний раз редактировалось pax, 05.11.2013 в 18:18.
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
ant2on (02.11.2013), moka (02.11.2013), Randomize (05.11.2013), SpiritSound (06.12.2015)