Exemple #1
0
    void InitNetwork()
    {
        WSServerState.Reset();

        if (DebugStandalone)
        {
            WSServer.Stop();
            WSServerState.Reset();
            WSClient.Disconnect();
            WSClientState.Reset();
            WSServer.StartFake();
            WSClient.ConnectFake();
        }
        else if (IsClient)
        {
            WSServer.Stop();
            WSServerState.Reset();
            WSClient.Connect();
        }
        else
        {
            WSClient.Disconnect();
            WSClientState.Reset();
            if (!WSServer.IsRunning)
            {
                WSServer.Start();
            }
        }
    }
Exemple #2
0
        static void Init1()
        {
            ConsoleHelper.WriteLine("WSServer 正在初始化....", ConsoleColor.Green);
            _server            = new WSServer();
            _server.OnMessage += Server_OnMessage;
            _server.Start();
            ConsoleHelper.WriteLine("WSServer 就绪,回车启动客户端", ConsoleColor.Green);

            ConsoleHelper.ReadLine();

            WSClient client = new WSClient();

            client.OnPong         += Client_OnPong;
            client.OnMessage      += Client_OnMessage;
            client.OnError        += Client_OnError;
            client.OnDisconnected += Client_OnDisconnected;

            ConsoleHelper.WriteLine("WSClient 正在连接到服务器...", ConsoleColor.DarkGray);

            var connected = client.Connect();

            if (connected)
            {
                ConsoleHelper.WriteLine("WSClient 连接成功,回车测试消息", ConsoleColor.DarkGray);
                ConsoleHelper.ReadLine();
                //client.Close();
                //ConsoleHelper.ReadLine();


                var loop = true;

                Task.Run(() =>
                {
                    while (loop)
                    {
                        ConsoleHelper.WriteLine("WSClient 正在发送消息...", ConsoleColor.DarkGray);

                        client.Send($"hello world!{DateTime.Now.ToString("HH:mm:ss.fff")}");

                        Thread.Sleep(1000);
                    }
                });

                ConsoleHelper.ReadLine();
                loop = false;
                ConsoleHelper.WriteLine("WSClient 正在ping服务器...", ConsoleColor.DarkGray);
                Thread.Sleep(2000);
                client.Ping();


                ConsoleHelper.ReadLine();
                ConsoleHelper.WriteLine("WSClient 正在断开连接...");
                Thread.Sleep(1000);
                client.Close();
            }
            else
            {
                ConsoleHelper.WriteLine("WSClient 连接失败", ConsoleColor.DarkGray);
            }
        }
Exemple #3
0
        static void Init1()
        {
            WebHost webHost = new WebHost(port: 18080, root: "Html");

            webHost.Start();


            ConsoleHelper.WriteLine("WSServer 正在初始化....", ConsoleColor.Green);
            _server                 = new WSServer();
            _server.OnMessage      += Server_OnMessage;
            _server.OnDisconnected += _server_OnDisconnected;
            _server.Start();
            ConsoleHelper.WriteLine("WSServer 就绪,回车启动客户端", ConsoleColor.Green);

            ConsoleHelper.ReadLine();

            WSClient client = new WSClient();

            client.OnPong         += Client_OnPong;
            client.OnMessage      += Client_OnMessage;
            client.OnError        += Client_OnError;
            client.OnDisconnected += Client_OnDisconnected;

            ConsoleHelper.WriteLine("WSClient 正在连接到服务器...", ConsoleColor.DarkGray);

            var connected = client.Connect();

            if (connected)
            {
                ConsoleHelper.WriteLine("WSClient 连接成功,回车测试消息", ConsoleColor.DarkGray);
                ConsoleHelper.ReadLine();
                //client.Close();
                //ConsoleHelper.ReadLine();


                ConsoleHelper.WriteLine("WSClient 正在发送消息...", ConsoleColor.DarkGray);

                client.Send($"hello world!{DateTime.Now.ToString("HH:mm:ss.fff")}");
                ConsoleHelper.ReadLine();


                ConsoleHelper.WriteLine("WSClient 正在ping服务器...", ConsoleColor.DarkGray);
                client.Ping();


                ConsoleHelper.ReadLine();
                ConsoleHelper.WriteLine("WSClient 正在断开连接...");
                client.Close();

                ConsoleHelper.ReadLine();
            }
            else
            {
                ConsoleHelper.WriteLine("WSClient 连接失败", ConsoleColor.DarkGray);
            }
        }
Exemple #4
0
        private static void ServerInit()
        {
            ConsoleHelper.WriteLine("正在启动wsserver...");
            WSServer server = new WSServer();

            server.OnConnected      += Server_OnConnected;
            server.OnErrored        += Server_OnErrored;
            server.OnUnAccepted     += Server_OnUnAccepted;
            server.OnSocketReceived += Server_OnSocketReceived;
            server.Start(url);
            ConsoleHelper.WriteLine("wsserver正在运行...");
        }
Exemple #5
0
        static void Init2()
        {
            ConsoleHelper.WriteLine("WSSServer 正在初始化....", ConsoleColor.Green);

            var pfxPath = PathHelper.GetFullName("yswenli.pfx");

            _server            = new WSServer(39656, System.Security.Authentication.SslProtocols.Tls12, pfxPath, "yswenli");
            _server.OnMessage += Server_OnMessage2;
            _server.Start();

            ConsoleHelper.WriteLine("WSSServer 就绪,回车启动客户端", ConsoleColor.Green);
        }
    public void Awake()
    {
        WebRTC.Initialize(EncoderType.Software);
        log = new Log();

        wss = new WSServer(8989);
        wss.OnClientConnect += onClientConnect;
        wss.OnTextData      += onTextData;
        wss.OnBinaryData    += onBinaryData;
        wss.OnClientClose   += onClientClose;
        wss.OnClientError   += onClientError;
        wss.Start();
    }
Exemple #7
0
 public void Start()
 {
     if (_alchemy == null)
     {
         _alchemy = new WSServer(81, IPAddress.Any)
         {
             DefaultOnReceive    = OnReceive,
             DefaultOnSend       = OnSend,
             DefaultOnConnect    = OnConnect,
             DefaultOnConnected  = OnConnected,
             DefaultOnDisconnect = OnDisconnect,
             TimeOut             = new TimeSpan(0, 5, 0)
         };
         _alchemy.Start();
     }
 }
        /// <summary>
        /// Listens (and creates a server if needed) to remote connections.
        /// </summary>
        public void Listen()
        {
            if (WS != null)
            {
                throw new Exception("Cannot both be a server and a client." +
                                    " Please use Connect if you are connecting to a server or Listen to create a server.");
            }

            if (WSServer == null)
            {
                MakeServer();
            }

            WSServer.Start();

            DataSocket.Initialize();
        }
        public ITransportListener StartConnectionListener(string uri, int port)
        {
            ServerConfig config = new ServerConfig();
            config.Port = port;
            config.MaxRequestLength = 100000;

            string host = uri;
            if (host != "Any")
            {
                IPAddress[] ipAddresses = Dns.GetHostAddresses(host);
                if (ipAddresses.Length == 0)
                    throw new Error(ErrorCode.CONNECTION_ERROR, "Cannot identify IP address by hostname.");
                config.Ip = ipAddresses[0].ToString();  // we take first entry as it does not matter which one is used
            }
            else
            {
                config.Ip = "Any";
            }
            var server = new WSServer();
            server.Setup(config);
            server.Start();
            return server as ITransportListener;
        }
Exemple #10
0
 private void StartServer()
 {
     httpServer.Start(Int16.Parse(Properties.Settings.Default.httpPort));
     wsServer.Start(Int16.Parse(Properties.Settings.Default.wsPort));
 }
 public void Start()
 {
     _wsServer.Start();
 }
Exemple #12
0
        private static void Main(string[] args)
        {
            Thread serverThread = null;

            Console.WriteLine("是否启动服务器?Y/N");

            var result = Console.ReadLine().ToUpper();

            if (result != "N")
            {
                serverThread = new Thread(() =>
                {
                    ConsoleHelper.WriteLine("正在初始化服务器...", ConsoleColor.Green);
                    server             = new MessageServer();
                    server.OnAccepted += Server_OnAccepted;
                    server.OnErrored  += Server_OnErrored;
                    //server.OnReceived += Server_OnReceived;
                    server.OnUnAccepted += Server_OnUnAccepted;
                    ConsoleHelper.WriteLine("服务器初始化完毕...", ConsoleColor.Green);
                    ConsoleHelper.WriteLine("正在启动服务器...", ConsoleColor.Green);
                    server.Start();

                    ConsoleHelper.WriteLine("正在启动wsserver...");
                    WSServer wsserver = new WSServer();
                    var wsurl         = "ws://172.31.56.106:" + ServerConfig.Instance().WSPort;
                    wsserver.Start(wsurl);
                    ConsoleHelper.WriteLine("wsserver正在运行...");

                    ConsoleHelper.WriteLine("服务器启动完毕...", ConsoleColor.Green);
                });
                serverThread.Start();
                Console.Title = "GFFServer";
                Console.ReadLine();
                //return;
            }

            Console.Title = "GFFClient";

            ConsoleHelper.WriteLine("私信测试开始...");
            var client1 = new MessageClient(uid1);

            client1.OnMessage += Client_OnMessage;
            client1.OnLogined += Client1_OnLogined;
            client1.OnError   += Client_OnError;
            client1.ConnectAsync();

            Console.ReadLine();

            var client2 = new MessageClient(uid2);

            client2.OnMessage += Client_OnMessage;
            client2.OnError   += Client_OnError;
            client2.OnLogined += Client2_OnLogined;
            client2.ConnectAsync();
            Console.ReadLine();


            var channelID = "all";

            ConsoleHelper.WriteLine("频道信息测试开始...");

            var client3 = new MessageClient();

            client3.OnMessage += Client_OnMessage;
            client3.OnError   += Client_OnError;
            client3.OnLogined += Client3_OnLogined;
            client3.ConnectAsync();
            Console.ReadLine();


            ConsoleHelper.WriteLine("订阅端测试开始...");
            Parallel.For(0, 10000, (i) =>
            {
                var ss        = new MessageClient();
                ss.OnLogined += Ss_OnLogined;
                ss.ConnectAsync();
            });
            Console.ReadLine();
            ConsoleHelper.WriteLine("点击回车结束测试...");
            //
            Console.ReadLine();
            if (serverThread != null)
            {
                serverThread.Abort();
            }
        }