public static JsonPacket fromJson(string dataString) { var mStream = new MemoryStream(Encoding.Default.GetBytes(dataString)); var serializer = new DataContractJsonSerializer(typeof(JsonPacket)); JsonPacket packet = (JsonPacket)serializer.ReadObject(mStream); return(packet); }
void onTest1(object[] param) { JsonPacket pk = JsonPacket.fromJson("{\"f\":\"fun\", \"p\":null}"); string pkStr = pk.toJson(); pk = JsonPacket.fromJson(pkStr); //m_socket.remoteCall("fun", new object[]{1, "obj"}); }
public void remoteCall(string functionName, object[] param = null) { JsonPacket packet = new JsonPacket() { f = functionName, p = param }; string jsonStr = packet.toJson(); sendMessage(jsonStr); }
private void receiveMessage() { byte[] data = new byte[2048]; EndPoint endPoint = new IPEndPoint(IPAddress.Parse(m_remoteAddress), m_remotePort); while (true) { try { int rlen = m_socket.ReceiveFrom(data, ref endPoint); string msg = Encoding.Default.GetString(data, 0, rlen); JsonPacket packet = JsonPacket.fromJson(msg); if (m_socketCallback != null) { m_socketCallback(packet.f, packet.p); } } catch (Exception ex) { System.Console.Out.WriteLine(ex.ToString()); } } }