Ejemplo n.º 1
0
 // addressinfo => TcpClient.Client.RemoteEndPoint
 // 새로운 연결이 들어왔습니다.
 public void notifyRegisterSocket(ASSOCKDESC sockdesc, string addressinfo)
 {
     Console.WriteLine(sockdesc.managedID + " Connected");
     lock (this)
     {
         theSessions.Add(sockdesc.managedID, sockdesc);
     }
 }
Ejemplo n.º 2
0
 // 소켓연결이 해제되었습니다.
 public void notifyReleaseSocket(ASSOCKDESC sockdesc, ASSocket socket)
 {
     Console.WriteLine(sockdesc.managedID + " Disconnected");
     lock (this)
     {
         theSessions.Remove(sockdesc.managedID);
     }
     sockdesc.theSender.releaseASSOCKDESC(sockdesc);
 }
Ejemplo n.º 3
0
        public void notifyMessage(ASSOCKDESC sockdesc, int length, byte[] data, int offset)
        {
            //lock (this)
            //{
            // 라인피드가 붙어있는 문자열을 WriteLine하면 출력이 제대로 안된다.
            // 바이트스트림으로 온 유니코드를 유니코드로 다시 맵핑하기 (단지 바이트로 오는것뿐, 코드체계가 바뀐건 아님)
            string s = System.Text.Encoding.Unicode.GetString(data, offset, length);

            Console.Write(s);
            //}
        }
Ejemplo n.º 4
0
 // connectSocket에 대한 결과
 //  bSuccess가 false이면 ex가 null이 아닌 개체로 전송됩니다~
 public void notifyConnectingResult(int requestID, ASSOCKDESC sockdesc, bool bSuccess, Exception ex)
 {
     if (true == bSuccess)
     {
         Console.WriteLine("Connected");
         sinfo = sockdesc;
         System.Threading.Interlocked.Increment(ref cnt);
     }
     else
     {
         Console.WriteLine(ex.Message);
     }
 }
 public void NotifyMessage(ASSOCKDESC sockdesc, int length, byte[] data, int offset)
 {
     //// 에코로써의 기능은 그대로!~
     //if( 'q' == data[0] )
     //    sockdesc.theSender.disconnectSocket(sockdesc);
     //else
     //    sockdesc.theSender.postingSend(sockdesc, length, data);
     byte[] buffer = new byte[length];
     Array.Copy(data, offset, buffer, 0, length);
     if ('q' == buffer[0])
     {
         sockdesc.NetSender.DisconnectSocket(sockdesc);
     }
     else
     {
         sockdesc.NetSender.PostingSend(sockdesc, buffer.Length, buffer);
     }
 }
 // connectSocket에 대한 결과
 //  bSuccess가 false이면 ex가 null이 아닌 개체로 전송됩니다~
 public void NotifyConnectingResult(int requestID, ASSOCKDESC sockdesc, bool bSuccess, Exception ex)
 {
 }