Exemple #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 JPacketType GetNetworkPacketType(JNetworkData data)
            {
                if (null == data)
                {
                    return(JPacketType.npt_unknown);
                }

                try
                {
                    JInputStream inputStream = new JInputStream(data.Data);
                    return((JPacketType)inputStream.Reader.ReadInt16());
                }
                catch (Exception e) {
                    JLog.Error("JNetworkHelper.JPacketType error message :" + e.Message);
                }

                return(JPacketType.npt_unknown);
            }
Exemple #3
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);
                    }
                }
            }