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 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); } } }