コード例 #1
0
ファイル: Program.cs プロジェクト: justaman02/Trivia_Project
        static void Main()
        {
            while (true)
            {
                try
                {
                    Client.client_socket = GetSocket.ConnectSocket("127.0.0.1", 1234);
                    Client.locker        = new object();
                    break;
                }
                catch
                {
                    continue;
                }
            }

            Application.Run(new login());
        }
コード例 #2
0
        private async Task Run()
        {
            ValidateProperties();

            var listener = new TcpListener(IPAddress.Any, port);

            listener.Start();
            while (run)
            {
                if (listener.Pending())
                {
                    GetSocket getSocket        = () => listener.AcceptSocket();
                    var       secureConnection = new SecureServerConnection(new TcpConnection(getSocket), DataFormatters.AsymmetricCipher, DataFormatters.SymmetricCipher);
                    var       objectConnection = new DefaultObjectConnection(secureConnection)
                    {
                        Serializer = DataFormatters.Serializer
                    };
                    OnInboundConnection?.Invoke(objectConnection);
                    await objectConnection.Start();
                }
            }
        }
コード例 #3
0
        public IObjectConnection Create(string ip, int port)
        {
            ValidateProperties();

            GetSocket getSocket = () =>
            {
                Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                socket.ReceiveBufferSize = 2048;
                socket.SendBufferSize    = 2048;
                socket.NoDelay           = true;
                socket.Connect(new IPEndPoint(IPAddress.Parse(ip), port));

                return(socket);
            };

            var secureConnection = new SecureClientConnection(new TcpConnection(getSocket), DataFormatters.AsymmetricCipher, DataFormatters.SymmetricCipher);
            var objectConnection = new DefaultObjectConnection(secureConnection)
            {
                Serializer = DataFormatters.Serializer
            };

            return(objectConnection);
        }
コード例 #4
0
ファイル: NetworkHandler.cs プロジェクト: crazyants/DotNetTor
 public NetworkHandler(GetSocket getSocket) : this()
 {
     _getSocketAsync = r => Task.FromResult(getSocket(r));
 }
コード例 #5
0
 public TcpConnection(GetSocket getSocket)
 {
     this.getSocket = getSocket;
 }
コード例 #6
0
 public NetworkHandler(GetSocket getSocket) : this()
 {
     _getSocketAsync = r => Task.FromResult(getSocket(r));
 }