Beispiel #1
0
        void StartListen()
        {
            IPEndPoint ipe;

            _serverSocket = SocketBasic.GetSocket(out ipe, Port);
            _serverSocket.Bind(ipe);
            _serverSocket.Listen(10);

            Task.Run(() =>
            {
                while (true)
                {
                    try
                    {
                        Socket cSocket = _serverSocket.Accept();
                        Task.Factory.StartNew((c) =>
                        {
                            var socket = c as Socket;
                            try
                            {
                                var recvStr = SocketBasic.Receive(socket, 3);
                                Thread.CurrentThread.SetThreadName("RequestInstance_Thread");
                                ExcuteRecord("接收到的信息");
                                ExcuteRecord(recvStr);
                                var result = Excute(recvStr);

                                SocketBasic.Send(socket, result, 3);
                            }
                            catch (Exception ex)
                            {
                            }
                            finally
                            {
                                if (IsShutdown)
                                {
                                    _serverSocket.Dispose();
                                    Process.GetCurrentProcess().Kill();
                                }

                                if (socket != null)
                                {
                                    socket.Dispose();
                                }
                            }
                        }, cSocket);
                    }
                    catch (Exception ex)
                    {
                        Process.GetCurrentProcess().Kill();
                    }
                }
            });
        }
        void Step2_StartListen()
        {
            IPEndPoint ipe;

            _serverSocket = SocketBasic.GetSocket(out ipe, Port);
            _serverSocket.Bind(ipe);
            _serverSocket.Listen(10);
            var text = string.Format("建立调用监听完成! {0} 端口:{1} 序号:{2}", MacUrl, Port, Number);

            ExcuteRecord(text);
            ExcuteRecord("*******************************************************");
            ExcuteRecord("注:一个进程同时只会执行一个需要窗口的接口!");
            ExcuteRecord("*******************************************************");
            Task.Run(() =>
            {
                while (true)
                {
                    try
                    {
                        Socket cSocket = _serverSocket.Accept();
                        Task.Factory.StartNew((c) =>
                        {
                            var socket = c as Socket;
                            try
                            {
                                var recvStr = SocketBasic.Receive(socket, 3);
                                Thread.CurrentThread.SetThreadName("RequestInstance_Thread");
                                ExcuteRecord("接收到的信息");
                                ExcuteRecord(recvStr);
                                var result = Excute(recvStr);

                                SocketBasic.Send(socket, result, 3);
                            }
                            catch (Exception ex)
                            {
                            }
                            finally
                            {
                                if (socket != null)
                                {
                                    socket.Dispose();
                                }
                            }
                        }, cSocket);
                    }
                    catch (Exception ex)
                    {
                        Process.GetCurrentProcess().Kill();
                    }
                }
            });
        }
Beispiel #3
0
 /// <summary>
 /// 初始化
 /// </summary>
 public static void Init()
 {
     SocketBasic.Bootstrap();
 }