Unity 5 uNet - нужна помощь[РЕШЕНО]

Сеть в Unity3D

Unity 5 uNet - нужна помощь[РЕШЕНО]

Сообщение NeroXT 27 ноя 2016, 20:04

Добрый день. Появилась необходимость перейти на WebGL, в которой я так понял поддерживается только новая uNet, поэтому поможете олдфагу с некоторыми вопросами? (popcorn1)
1. Как получить калбаки при подключении/отключении от сервера от NetworkManager?
2. Что пришло взамениу RPC? Знаю что есть аттрибуты Command, Server, Client, ServerCallback, ClientCallback,ClientRPC и др., но как поступить в таких случаях:
а)Нужно отправить данные серверу, с RPC реализовывал так:
Синтаксис:
Используется csharp
networkView.RPC("SendToServer",RPCMode.Server,myData)

б)Сервер должен отправлять данные клиентам, включая тех, которые подключаться намного позже отправки(т.е. сохраняя в буфер)
Синтаксис:
Используется csharp
networkView.RPC("SendToClients",RPCMode.OthersBuffered,myData)

в)Отправить сообщение (в чате напрмер) всем
Синтаксис:
Используется csharp
networkView.RPC("SendToAll",RPCMode.All,myData)

Прошу любой помощи. :ymhug:
Последний раз редактировалось NeroXT 04 дек 2016, 16:21, всего редактировалось 1 раз.
Добавить kamalov.0_0 в Skype
Аватара пользователя
NeroXT
UNец
 
Сообщения: 34
Зарегистрирован: 16 сен 2013, 15:54
Откуда: Россия
Skype: kamalov.0_0

Re: Unity 5 uNet - нужна помощь

Сообщение IDoNotExist 28 ноя 2016, 08:38

NeroXT писал(а):Появилась необходимость перейти на WebGL, в которой я так понял поддерживается только новая uNet

Поняли не правильно, в WebGL используется протокол Websocket а сеть можно использовать любую, главное чтобы она его поддерживала, тот же фотон вполне себе поддерживает.
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: Unity 5 uNet - нужна помощь

Сообщение NeroXT 28 ноя 2016, 16:43

IDoNotExist писал(а):
NeroXT писал(а):Появилась необходимость перейти на WebGL, в которой я так понял поддерживается только новая uNet

Поняли не правильно, в WebGL используется протокол Websocket а сеть можно использовать любую, главное чтобы она его поддерживала, тот же фотон вполне себе поддерживает.

Да, но писать на старом Network в новом Unity неохото, поэтому хотелось бы узнать как реализовать все с uNet.
Добавить kamalov.0_0 в Skype
Аватара пользователя
NeroXT
UNец
 
Сообщения: 34
Зарегистрирован: 16 сен 2013, 15:54
Откуда: Россия
Skype: kamalov.0_0

Re: Unity 5 uNet - нужна помощь

Сообщение NeroXT 28 ноя 2016, 20:36

Ок, в общем пришлось разобраться на англоязычных форумах.
1. Для создания каллбаков пересоздаем NetworkManager и переопределяем функции OnServerConnected и т.д.
Синтаксис:
Используется csharp
using UnityEngine;
using UnityEngine.Networking;
using System.Collections;
//Скрипт для перехвата всяческих серверных функций
public class OwnNetManager : NetworkManager {

        public override void OnServerReady(NetworkConnection conn)
        {
                base.OnServerReady(conn);
        }
        public override void OnClientConnect(NetworkConnection conn)
        {
                base.OnClientConnect(conn);
        }
        public override void OnServerDisconnect(NetworkConnection conn)
        {
                base.OnServerDisconnect(conn);
        }
        public override void OnClientDisconnect(NetworkConnection conn)
        {
        }
        public override void OnServerAddPlayer(NetworkConnection conn, short playerControllerId)
        {
                base.OnServerAddPlayer(conn, playerControllerId);
        }
}
 



2. Придется отправлять сначала серверу а через него клиентам.
Синтаксис:
Используется csharp
static string messages = "";
void SendMessage(){
   CmdSendText(input.text);
   input.text = "";
}
[Command]
void CmdSendText(string s){
   messages += s;
   RpcSendToAll(s);
}
[ClientRpc]
void RpcSenToAll(string s){
   messages += s;
}
 

Для буферизации просто, сохраняем данные на сервере и отправляем тем, кто подключился.
Добавить kamalov.0_0 в Skype
Аватара пользователя
NeroXT
UNец
 
Сообщения: 34
Зарегистрирован: 16 сен 2013, 15:54
Откуда: Россия
Skype: kamalov.0_0


Вернуться в Сеть

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1