示例#1
0
 public void OnClose(WebSocketConnection aConnection, int aCloseCode, string aCloseReason, bool aClosedByPeer)
 {
     Logger.Debug("Client : Connection [" + aConnection.ToString() + "] has closed with message : " + aCloseReason);
     WebSocketClient.Reset();
     WebSocketServer.Reset();
     this._connection = null;
     this._connectionMaintainer.WakeupManager.Set();
 }
示例#2
0
 public void OnOpen(WebSocketConnection aConnection)
 {
     this._connection = aConnection;
     try
     {
         Logger.Debug("Client : Made connection [" + aConnection.Client.Client.RemoteEndPoint + "]");
     }
     catch (Exception e)
     {
         // For some reason occassionally there is an exception on getting the remote endpoint
         Logger.Error("Failed to read the remote endpoint",e);
     }
 }
示例#3
0
 void ConnectionWrite(WebSocketConnection aConnection, bool aFinal, bool aRes1, bool aRes2, bool aRes3, int aCode, MemoryStream aData)
 {
     if (this.InvokeRequired)
     {
         this.Invoke(new WebSocketConnection.ConnectionDataEvent(ConnectionWrite), new Object[] { aConnection, aFinal, aRes1, aRes2, aRes3, aCode, aData });
     }
     else
     {
         //LogFile.threadWriteLog(String.Format("ConnectionWrite {0}: final {1}, ext1 {2}, ext2 {3}, ext1 {4}, code {5}, length {6} ", aConnection.Index, aFinal, aRes1, aRes2, aRes3, aCode, aData.Length), LogType.LOG_TRACE);
         //-lastSentMemo.Text = Encoding.UTF8.GetString(aData.ToArray(), 0, (int)aData.Length);
         var inString = Encoding.UTF8.GetString(aData.ToArray());
         var outString = inString.Replace("\"", "'");
         LogFile.ThreadWriteLog("[SEND]" +outString, LogType.LOG_INFO);
     }
 }
示例#4
0
        void ConnectionRead(WebSocketConnection aConnection, bool aFinal, bool aRes1, bool aRes2, bool aRes3, int aCode, MemoryStream aData)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new WebSocketConnection.ConnectionDataEvent(ConnectionRead), new Object[] { aConnection, aFinal, aRes1, aRes2, aRes3, aCode, aData });
            }
            else
            {
                //LogFile.threadWriteLog(String.Format("ConnectionRead {0}: final {1}, ext1 {2}, ext2 {3}, ext1 {4}, code {5}, length {6} ", aConnection.Index, aFinal, aRes1, aRes2, aRes3, aCode, aData.Length), LogType.LOG_TRACE);
                //lastReceivedMemo.Text = Encoding.UTF8.GetString(aData.ToArray(), 0,  (int)aData.Length);
                //-lastReceivedMemo.Text = Encoding.UTF8.GetString(aData.ToArray());
                //LogFile.ThreadWriteLog("[READ]" + Encoding.UTF8.GetString(aData.ToArray()), LogType.LOG_INFO);
                var inString = Encoding.UTF8.GetString(aData.ToArray());

                #region Comment after debugging.
                var outString = inString.Replace("\"", "'");
                LogFile.ThreadWriteLog("[RECV]" + outString, LogType.LOG_INFO);
                #endregion

                ActAfterReceivingJson(inString);
            }
        }
示例#5
0
 void ConnectionPong(WebSocketConnection aConnection, string aData)
 {
     if (this.InvokeRequired)
     {
         this.Invoke(new CommonFunctions.NDSWebSocketClientConnection.ConnectionPingPongEvent(ConnectionPong), new Object[] { aConnection, aData });
     }
     else
     {
         //LogFile.threadWriteLog(String.Format("ConnectionPong {0}: {1}", aConnection.Index, aData), LogType.LOG_TRACE);
     }
 }
示例#6
0
        void ConnectionOpen(WebSocketConnection aConnection)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new WebSocketConnection.ConnectionEvent(ConnectionOpen), new Object[] { aConnection });
            }
            else
            {
                //LogFile.threadWriteLog(String.Format("ConnectionOpen {0}", aConnection.Index), LogType.LOG_TRACE);
                _serverConnected = true;

                LogFile.ThreadWriteLog("[NETWORK]:" + AppInfoStrc.UrlOfServer + AppInfoStrc.ExtentionOfServer + " Web socket 연결 성공", LogType.LOG_INFO);
            }
        }
示例#7
0
 void ConnectionFramedText(WebSocketConnection aConnection, string aData)
 {
     if (this.InvokeRequired)
     {
         this.Invoke(new CommonFunctions.NDSWebSocketClientConnection.ConnectionFramedTextEvent(ConnectionFramedText), new Object[] { aConnection, aData });
     }
     else
     {
         //-sendFramesMemo.Text = aData;
     }
 }
示例#8
0
 void ConnectionOpen(WebSocketConnection aConnection)
 {
     if (this.InvokeRequired)
     {
         this.Invoke(new WebSocketConnection.ConnectionEvent(ConnectionOpen), new Object[] { aConnection });
     }
     else
     {
         _serverConnected = true;
         LogFile.ThreadWriteLog("[NETWORK-등록]:" + AppInfoStrc.UrlOfServer + AppInfoStrc.ExtentionOfServer + " Web socket 연결 성공", LogType.LOG_INFO);
     }
 }
示例#9
0
 private void HandleConnectionRead(WebSocketConnection aConnection, bool aFinal, bool aRes1, bool aRes2, bool aRes3, int aCode, System.IO.MemoryStream aData)
 {
     if (aCode == Bauglir.Ex.WebSocketFrame.Text)
     {
         var client = Clients [aConnection];
         ClientMessage(client, Protocol.Message.FromJson(aData));
     }
 }
示例#10
0
 public Client(WebSocketConnection aConnection)
 {
     Connection = aConnection;
 }
 public void OnOpen(WebSocketConnection aConnection)
 {
     this._connection = aConnection;
     Logger.Debug("Client : Made connection [" + aConnection.Client.Client.RemoteEndPoint + "]");
 }
 public void OnClose(WebSocketConnection aConnection, int aCloseCode, string aCloseReason, bool aClosedByPeer)
 {
     Logger.Debug("Client : Connection [" + aConnection.ToString() + "] has closed with message : " + aCloseReason);
     this._connection = null;
     _coupledConnection.Close();
 }
示例#13
0
        void ConnectionRead(WebSocketConnection aConnection, bool aFinal, bool aRes1, bool aRes2, bool aRes3, int aCode, MemoryStream aData)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new WebSocketConnection.ConnectionDataEvent(ConnectionRead), new Object[] { aConnection, aFinal, aRes1, aRes2, aRes3, aCode, aData });
            }
            else
            {

                var inString = Encoding.UTF8.GetString(aData.ToArray());
                var outString = inString.Replace("\"", "'");
                LogFile.ThreadWriteLog("[READ]" + outString, LogType.LOG_INFO);

                DoActByJsonFromServerResponseText(inString);

                var textHandlerId = CommonFunctions.getTextHandlerIdFromJsonText(inString);
                AppInfoStrc.TextHandlerId = textHandlerId;

                var appIniFile = new IniFile();
                appIniFile.Write(JsonColName.JsonTxtHndId, textHandlerId, "PLAYER");
            }
        }
示例#14
0
 private void HandleConnectionClose(WebSocketConnection aConnection, int aCloseCode, string aCloseReason, bool aClosedByPeer)
 {
     var client = Clients [aConnection];
     ClientDisconnect(client);
 }
示例#15
0
 void ConnectionClose(WebSocketConnection aConnection, int aCloseCode, string aCloseReason, bool aClosedByPeer)
 {
     if (this.InvokeRequired)
     {
         this.Invoke(new WebSocketConnection.ConnectionCloseEvent(ConnectionClose), new Object[] { aConnection, aCloseCode, aCloseReason, aClosedByPeer });
     }
     else
     {
         //LogFile.threadWriteLog(String.Format("ConnectionClose {0}: {1}, {2}, {3} ", aConnection.Index, aCloseCode, aCloseReason, aClosedByPeer ? "closed by peer" : "closed by me"), LogType.LOG_TRACE);
         _serverConnected = false;
         LogFile.ThreadWriteLog("[NETWORK]:" + AppInfoStrc.UrlOfServer + AppInfoStrc.ExtentionOfServer + " Web socket 연결 종료", LogType.LOG_INFO);
     }
 }
示例#16
0
 private void HandleConnectionOpen(WebSocketConnection aConnection)
 {
     var client = new Client(aConnection);
     Clients.Add(aConnection, client);
     ClientConnect(client);
 }
示例#17
0
 void ConnectionFramedBinary(WebSocketConnection aConnection, MemoryStream aData)
 {
     if (this.InvokeRequired)
     {
         this.Invoke(new CommonFunctions.NDSWebSocketClientConnection.ConnectionFramedBinaryEvent(ConnectionFramedBinary), new Object[] { aConnection, aData });
     }
     else
     {
         Image image = Image.FromStream(aData);
         //-pictureBox.Image = image;
         //sendFramesMemo.Text = aData;
     }
 }
示例#18
0
 private void ProcessStream(WebSocketConnection aconnection, int acode, MemoryStream adata)
 {
     Logger.Debug("Received binary message of size " + adata.Length);
     adata.Position = 0;
     if (_readData != null)
     {
         try
         {
             if (!_readData(adata))
             {
                 Close();
             }
         }
         catch (Exception e)
         {
             Logger.ErrorFormat("Failed to call read data : " + e.Message, e);
             Close();
         }
     }
 }
示例#19
0
 void ConnectionClose(WebSocketConnection aConnection, int aCloseCode, string aCloseReason, bool aClosedByPeer)
 {
     if (this.InvokeRequired)
     {
         this.Invoke(new WebSocketConnection.ConnectionCloseEvent(ConnectionClose), new Object[] { aConnection, aCloseCode, aCloseReason, aClosedByPeer });
     }
     else
     {
         _serverConnected = false;
         LogFile.ThreadWriteLog("[NETWORK-등록]:" + AppInfoStrc.UrlOfServer + AppInfoStrc.ExtentionOfServer + " Web socket 연결 종료", LogType.LOG_INFO);
     }
 }