/// <summary> /// /// </summary> /// <param name="host">远端主机地址</param> /// <param name="port"></param> /// <param name="route">远端执行方法名</param> /// <param name="param">参数</param> protected void DoRequest(string host, int port, string route, string param, int bufferSize) { using (SocketClient client = new SocketClient(host, port, bufferSize)) { client.ErrorHandle += DoError; client.ReceiveHandle += DoReceive; if (client.Connect()) { param = HttpUtility.UrlEncode(GetRemoteParam(GameID, ServerID, param), Encoding.UTF8); byte[] data = Encoding.UTF8.GetBytes(string.Format("route:{0}?d={1}", route, param)); data = BufferUtils.MergeBytes(BufferUtils.GetSocketBytes(data.Length), data); client.SendAsync(data); client.ReceiveResult(); } } }