Exemplo n.º 1
0
        static void Main(string[] args)
        {
            //1)可自定义参数
            IFastSocketBuild fastSocketBuild1 = SocketFactory.CreateSocketBuild(new FastSocketBuildOption
            {
                Ip                    = "127.0.0.1", //ip
                Port                  = 6188,        //port
                MaxConnections        = 3,           //最大连接数
                MaxTimeOutMillisecond = 5000,        //最大超时时间毫秒ms
                MaxTransPortBodyMB    = 2            //最大传输内容大小MB
            });
            //1)也可默认使用配置文件 fastsocket.json
            IFastSocketBuild fastSocketBuild = SocketFactory.CreateSocketBuild();

            fastSocketBuild.ConfigFastSocketService(fastSocketService =>
            {
                fastSocketService
                .AddOnConnectionConnected((serverSocket, connection) =>
                {
                    Console.WriteLine($"Socket服务,ConnectionId({connection.ConnectionID}),接入链接");
                }).AddOnReceiveMsg((serverSocket, connection, receiveBytes) =>
                {
                    Console.WriteLine($"Socket服务,ConnectionId({connection?.ConnectionID}),从客户端接收到消息:({serverSocket.Encoding.GetString(receiveBytes)})");
                    connection.Send($"ConnectionId({connection?.ConnectionID})服务端返回的数据");
                }).AddOnSendMsg((serverSocket, connection, sendBytes) =>
                {
                    Console.WriteLine($"Socket服务,ConnectionId({connection?.ConnectionID}),发送消息至客户端:({serverSocket.Encoding.GetString(sendBytes)})");
                }).AddOnConnectionClosed((serverSocket, connectionId) =>
                {
                    Console.WriteLine($"Socket服务,ConnectionId({connectionId}),已关闭链接");
                }).AddOnServiceException((serverSocket, exception) =>
                {
                    Console.WriteLine($"Socket服务异常,ExceptionMsg({exception.GetType().Name}:{exception.Message}),ExceptionStackTrace({exception.StackTrace})");
                }).AddOnServiceStarted((serverSocket) =>
                {
                    Console.WriteLine("Socket服务启动");
                }).AddOnServiceStoped((serverSocket) =>
                {
                    Console.WriteLine("Socket服务关闭");
                });
            });
            IFastSocket fastSocket = fastSocketBuild.Build();

            fastSocket.Run();                                                   //Socket服务启动
            //fastSocket.Stop();                                               //Socket服务关闭
            //fastSocket.CloseOneConnection(new FastSocketConnection());        //关闭某个客户端连接
        }
Exemplo n.º 2
0
        public void Start()
        {
            try
            {
                var client = new Socket(endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
                client.Connect(endpoint);

                socket = CreateSocket(client);
                socket.ExceptionOccured += (s, e) => OnExceptionOccured(e);
                socket.Start();
            }
            catch (Exception ex)
            {
                OnExceptionOccured(new ExceptionEventArgs(ex));
                OnCompleted();
            }
        }