- Home /
Question by
Didas72 · Sep 20, 2019 at 02:40 PM ·
errornetworkingconnection
Trouble with LLAPI
I've searched for a good while now and I couldn't find an answer for this. I'm trying to send a message from the client to the server at start. Whenever I do so, the client error byte is set to 2 andd the message doesn't make it. Here's the client code:
public void Connect()
{
byte error;
mainConnectionId = NetworkTransport.Connect(mainHostId, "127.0.0.1", socketPort, 0, out error);
NetConnected msg = new NetConnected();
SendMessage(msg);
}
public void SendMessage(NetMessage msg)
{
byte error;
byte[] buffer = new byte[maxBufferSize];
Stream stream = new MemoryStream(buffer);
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, msg);
NetworkTransport.Send(mainHostId, mainConnectionId, reliableChannelId, buffer, maxBufferSize, out error);
Debug.Log("Send error " + error);
}
and the server:
public void UpdateMessagePump()
{
byte[] buffer = new byte[maxBufferSize];
NetworkEventType recType = NetworkTransport.Receive(out int hostId, out int connectionId, out int channelId, buffer, maxBufferSize, out int receivedSize, out byte error);
switch (recType)
{
case NetworkEventType.Nothing:
break;
case NetworkEventType.ConnectEvent:
Debug.Log("User connected.");
break;
case NetworkEventType.DisconnectEvent:
Debug.Log("User disconnected.");
break;
case NetworkEventType.DataEvent:
Debug.Log("Recieved data.");
BinaryFormatter formatter = new BinaryFormatter();
Stream stream = new MemoryStream(buffer);
NetMessage msg = formatter.Deserialize(stream) as NetMessage;
OnData(msg);
break;
}
}
public void OnData(NetMessage msg)
{
switch (msg.messageType)
{
case NetMessageType.Invalid:
Debug.Log("Unexpected message type");
break;
case NetMessageType.Connected:
Debug.Log("Connected msg.");
break;
}
}
As you can see, the connection id is set just above the call of the method Send(). I don't understand unity's networking system that well but its the second time I try to implement this sort of thing and I got the same result before. Any help would be appreciated. Thanks in advance. Sorry if my english is incorrect.
Also, if you want, I can post the whole code for both server and client.
Comment