public Client(string server, int port, PropertyInfo propertyInfo, CommandHeader header, Action <T> callback) { if (server == null) { return; } _propertyInfo = propertyInfo; _stream = new NetStream(server, port); _stream.Socket.NoDelay = true; var content = header.ToJsonString(); var bs = Encoding.UTF8.GetBytes(content); _stream.Write(bs.Length); _stream.Write(bs); while (true) { int len = _stream.ReadInt(); if (len == -1) { break; } bs = _stream.ReceiveDatas(len); content = Encoding.UTF8.GetString(bs); callback(Newtonsoft.Json.JsonConvert.DeserializeObject <T>(content)); } }
void init() { _stream = new NetStream(_server, _port); var content = _header.ToJsonString(); var bs = Encoding.UTF8.GetBytes(content); _stream.Write(bs.Length); _stream.Write(bs); }