Пример #1
0
    public bool SendToServer(JObj_SignIn obj)
    {
        if (!_connected)
        {
            return(false);
        }

        try
        {
            JOutputStream jstream = new JOutputStream();
            JBinaryReaderWriter.Write(ref jstream, obj);
            _client_socket.Send(jstream.ToArray());
        }
        catch (Exception e) {
            Debug.Log("发送数据失败");
            Debug.LogError(e.Message);
            return(false);
        }

        int nReceivedCount = 0;

        byte[] buffer = new byte[JTcpDefines.max_buffer_size];
        do
        {
            nReceivedCount = _client_socket.Receive(buffer, JTcpDefines.max_buffer_size, SocketFlags.None);
        } while(nReceivedCount == 0);

        //...received packet
        JInputStream inputStream = new JInputStream(buffer);
        IStreamObj   receivedObj = JBinaryReaderWriter.Read <IStreamObj>(inputStream);
        ushort       utype       = receivedObj.Type();

        return(true);
    }
            public static void SendData(JPacketType packetType, IStreamObj streamObject)
            {
                JOutputStream jstream = new JOutputStream();

                jstream.Writer.Write((ushort)packetType);
                JBinaryReaderWriter.Write(ref jstream, streamObject);

                SendData(jstream.ToArray());
            }
Пример #3
0
            public static void SendDataToServer(
                JPacketType packetType,
                IStreamObj streamObject)
            {
                JOutputStream jstream = new JOutputStream();

                jstream.Writer.Write((ushort)packetType);
                JBinaryReaderWriter.Write(ref jstream, streamObject);

                SendData(jstream.ToArray(), JClientSocket.socket.RemoteEndPoint as IPEndPoint);
            }
            public static void SendData(JPacketType packetType, List <IStreamObj> objects)
            {
                JOutputStream jstream = new JOutputStream();

                jstream.Writer.Write((ushort)packetType);
                foreach (var obj in objects)
                {
                    JBinaryReaderWriter.Write(ref jstream, obj);
                }

                SendData(jstream.ToArray());
            }
Пример #5
0
            public static void SendDataToServer(
                JPacketType packetType,
                List <IStreamObj> objects)
            {
                JOutputStream jstream = new JOutputStream();

                jstream.Writer.Write((ushort)packetType);
                foreach (var obj in objects)
                {
                    JBinaryReaderWriter.Write(ref jstream, obj);
                }

                SendData(jstream.ToArray(), JClientSocket.socket.RemoteEndPoint as IPEndPoint);
            }
Пример #6
0
            public static void DeSerialize(List <JNetworkData> dataList)
            {
                foreach (JNetworkData data in dataList)
                {
                    JInputStream stream = new JInputStream(data.Data);
                    JBinaryReaderWriter.Read <ushort> (stream);
                    if (stream.Stream.CanRead)
                    {
                        IStreamObj obj = JBinaryReaderWriter.Read <IStreamObj> (stream);
                        if (null == obj)
                        {
                            continue;
                        }

                        JLogicUserData.setData(data.RemoteEndPoint, obj);
                    }
                }
            }