void SendReqUpgradeProtocol(NetSocket socket, string host, string protocol) { // ServerInfo serverInfo = socket.GetRemoteServerInfo(); // ServerType toServerType = (ServerType)serverInfo->GetTag(); // Debug.Log("请求%s(%s:%d)更换通信协议为:%s!", SERVER_CN_NAME(toServerType), serverInfo->GetServerIP(), serverInfo->GetServerPort(), protocol.c_str()); ByteStream sendStream = new ByteStream(); HttpHeader header = new HttpHeader(); sendStream.isByteAlign = false; header.type = 0; header.method = HttpRequestMethod.HTTP_METHOD_GET; header.url = "/chat"; header.ver = "HTTP/1.1"; if (host.Length != 0) { header.fieldMap["Host"] = host; } header.fieldMap["Connection"] = "Upgrade"; header.fieldMap["Upgrade"] = protocol; header.fieldMap["Sec-WebSocket-Version"] = "13"; byte[] bytedata = Encoding.Default.GetBytes(Sec_WebSocket_Key); string basevalue = Convert.ToBase64String(bytedata); header.fieldMap["Sec-WebSocket-Key"] = basevalue; httpMsgProcesser.WriteHttpHeader(sendStream, header, false); socket.Send(sendStream); }
public void ReqLogin(string account, string password) { clientSocket = server.GetSocket(clientSocketID); if (clientSocket == null) { return; } ByteStream sendStream = new ByteStream(); GamePackHeader header = new GamePackHeader(); header.type = GamePackType.MSG_CLIENT_REQ_LOGIN_ENTER; header.dataSize = 0; int headerlen = gamepackMsgProcesser.WriteGamePackHeader(sendStream, header); byte[] accountArray = Encoding.UTF8.GetBytes(account); byte[] pwdArray = Encoding.UTF8.GetBytes(password); sendStream.Write((int)DefValue.DEF_CLIENT_COMMON_LOGIN); sendStream.Write(account.Length); sendStream.WriteBytes(accountArray, 0, accountArray.Length); sendStream.Write(pwdArray.Length); sendStream.WriteBytes(pwdArray, 0, pwdArray.Length); clientSocket.Send(sendStream, headerlen, 0); }
public static void SendData(LuaRawPacket rawPacket) { sNetSocket.Send(new RawPacket(rawPacket)); }