Esempio n. 1
0
    private static bool transToTargetData(TransCenterSockets tcs)
    {
        Log.Info (getSocketStr(tcs.socketClient) + tcs.socketClient.Available);
        ByteBuffer data = new ByteBuffer (tcs.socketClient.Available);
        data.setTop (tcs.socketClient.Available);
        tcs.socketClient.Receive (data.getArray (), SocketFlags.None);
        tcs.transPortServer.isServer = true;

        try {
            tcs.transPortServer.dataBuffer = data.Clone() as ByteBuffer;
            tcs.transPortServer.receive (data, true);

        } catch (Exception e) {
            Log.Error (e.Message);
        }
        data.position = 0;
        tcs.socketServer.Send (data.getArray ());
        return true;
    }
Esempio n. 2
0
 private static void toTargetSuccess(TransCenterSockets tcs)
 {
     //TransCenterSockets tcs = new TransCenterSockets ();
     //tcs.socketClient = clientSocket;
     Thread receiveServerThread = new Thread (ReceiveServerMessage);
     receiveServerThread.Start (tcs);
     Log.Info ("建立到远程服务器的连接[{0}-->{1}]", tcs.socketServer.LocalEndPoint.ToString (), tcs.socketServer.RemoteEndPoint.ToString ());
 }
Esempio n. 3
0
    private static bool transToClientData(TransCenterSockets tcs)
    {
        Log.Info ( getSocketStr(tcs.socketServer)+ tcs.socketServer.Available);
        ByteBuffer data = new ByteBuffer (tcs.socketServer.Available);
        data.setTop (tcs.socketServer.Available);
        tcs.socketServer.Receive (data.getArray (), SocketFlags.None);

            tcs.transPortClient.isServer = false;
            try {

                CallBack cb = delegate {
                    data.position = 0;
                    tcs.socketClient.Send (data.getArray ());
                };
                tcs.transPortClient.erlConnect.transCallBack = null;
                tcs.transPortClient.dataBuffer = data.Clone () as ByteBuffer;
                tcs.transPortClient.receive (data, false);

                if (data.length () == 10) {
                    data.position = 0;
                    tcs.transPortServer.isServer = true;
                    tcs.transPortServer.dataBuffer = data.Clone () as ByteBuffer;
                    tcs.transPortServer.receive (data, true);
                }

            } catch (Exception e) {
                Log.Error (e.Message);
            } finally {

                //Log.Info ("+++++" + ports + "+++++++++++");
                //if (ports!=5) {

                //}
            }

        return false;
    }
Esempio n. 4
0
 /// <summary>  
 /// 监听客户端连接  
 /// </summary>  
 private static void ListenClientConnect(Object _socket)
 {
     while (true) {
         Socket clientSocket = ((Socket)_socket).Accept ();
         Log.Info ("监听到[{0}-->{1}]的连接。", clientSocket.RemoteEndPoint.ToString (), clientSocket.LocalEndPoint.ToString ());
         TransCenterSockets tcs = new TransCenterSockets ();
         tcs.socketClient = clientSocket;
         Thread receiveClientThread = new Thread (ReceiveMessage);
         receiveClientThread.Start (tcs);
     }
 }