Пример #1
0
    public Client()
    {
        config = new NetPeerConfiguration("cars");
        config.ConnectionTimeout = 15.0f;

        client = new NetClient(config);
    }
Пример #2
0
        public Controller(Window window, string[] args)
            : base(window)
        {
            if (args.Length >= 2)
            {
                if (args[0] == "server")
                {
                    _netController = new Server(int.Parse(args[1]));
                }
                else if (args[0] == "client")
                {
                    var config = NetworkHelper.GetDefaultConfig();
                    config.Port = int.Parse(args[1]);

                    NetClient client = new NetClient(config);

                    var serverAddress = new IPEndPoint(new IPAddress(new byte[] { 127, 0, 0, 1 }), int.Parse(args[2]));

                    _netController = new Client(serverAddress, this, client);
                }
            }
            else
            {
                //_netController = new Client(111, 112, this);
            }
        }
Пример #3
0
        public Game()
        {
            log = new Logger();
            log.Info("Setting up game...");

            trySetConnectDetails();

            Window.Title = "Test Client";
            Window.AllowUserResizing = false;

            graphics = new GraphicsDeviceManager(this);
            Content.RootDirectory = "Content";

            config = new NetPeerConfiguration(appName);
            config.EnableMessageType(NetIncomingMessageType.DiscoveryResponse);

            client = new NetClient(config);

            // Start with an empty player manager.
            playerManager = new PlayerManager();

            NetDebugComponent netDebugComponent = new NetDebugComponent(this, ref client);
            this.Components.Add(netDebugComponent);
            netDebugComponent.Visible = true;

            PlayerListDebugComponent playerListDebugComponent = new PlayerListDebugComponent(this, ref playerManager);
            this.Components.Add(playerListDebugComponent);
            playerListDebugComponent.Visible = true;
        }
Пример #4
0
 public Authenticator(string username, string encodedPassword, NetClient connection, UserData userData)
 {
     _username = username;
     _userInfo = userData;
     _encodedPassword = encodedPassword;
     _connection = connection;
     _connection.LoginReply += new NetClient.LoginResponse(LoginResponse);
 }
Пример #5
0
    void ReadPacket(NetClient client)
    {
        bool success = false;
        int started = p.TimeMillisecondsFromStart();
        int timeout = 2000;
        while (p.TimeMillisecondsFromStart() < started + timeout)
        {
            if (success)
            {
                //Return if already received answer from server
                querySuccess = true;
                return;
            }
            NetIncomingMessage msg;
            msg = client.ReadMessage();
            if (msg == null)
            {
                //Message empty - skip processing.
                continue;
            }

            Packet_Server packet = new Packet_Server();
            Packet_ServerSerializer.DeserializeBuffer(msg.message, msg.messageLength, packet);

            switch (packet.Id)
            {
                case Packet_ServerIdEnum.QueryAnswer:
                    //Got answer from server. Process it.
                    result.Name = packet.QueryAnswer.Name;
                    result.MOTD = packet.QueryAnswer.MOTD;
                    result.PlayerCount = packet.QueryAnswer.PlayerCount;
                    result.MaxPlayers = packet.QueryAnswer.MaxPlayers;
                    result.PlayerList = packet.QueryAnswer.PlayerList;
                    result.Port = packet.QueryAnswer.Port;
                    result.GameMode = packet.QueryAnswer.GameMode;
                    result.Password = packet.QueryAnswer.Password;
                    result.PublicHash = packet.QueryAnswer.PublicHash;
                    result.ServerVersion = packet.QueryAnswer.ServerVersion;
                    result.MapSizeX = packet.QueryAnswer.MapSizeX;
                    result.MapSizeY = packet.QueryAnswer.MapSizeY;
                    result.MapSizeZ = packet.QueryAnswer.MapSizeZ;
                    result.ServerThumbnail = packet.QueryAnswer.ServerThumbnail;
                    success = true;
                    continue;

                case Packet_ServerIdEnum.DisconnectPlayer:
                    serverMessage = packet.DisconnectPlayer.DisconnectReason;
                    //End method as server kicked us out
                    return;

                default:
                    //Drop all other packets sent by server (not relevant)
                    continue;
            }
        }
        //Set timeout message if query did not finish in time
        serverMessage = "Timeout while querying server!";
    }
Пример #6
0
 public ShipNetworkBuffer(bool local)
 {
   IsLocal = local;
   HasPositionValue = false;
   NetworkContext = new Dictionary<int, UnityShip>();
   client = GameObject.Find("NetworkManager").GetComponent<UnityNetworkManager>().Client;
   Debug.Log(client);
   manager = GameObject.Find("NetworkManager").GetComponent<UnityNetworkManager>();
 }
Пример #7
0
        public void Connect(string ip, int port)
        {
            var config = new NetPeerConfiguration("HORSEGLUERTS");
            client = new NetClient(config);
            client.Start();
            client.Connect(ip, port);

            //networkThread = new Thread(netThreadLoop);
            //networkThread.Start();
        }
Пример #8
0
        /// <summary>
        /// This will create a client socket and connect to a remote server socket which is prepared from the 
        /// connect initiator
        /// </summary>
        /// <param name="targetAddress"></param>
        public PeerSocket(ResponseHandlersCollection handlers, string _parentId, string _peerId, string remoteHost, int remotePort)
        {
            responseHandlers = handlers;

            parentId = _parentId;
            peerId = _peerId;

            clientSocket = new NetClient(parentId+"."+ peerId+".Client");
            clientSocket.OnReceived += new NetReceivedEventHandler<byte[]>(onClientReceiveData);
            clientSocket.TryConnect(remoteHost, remotePort);
        }
        public Game1(string host, int port)
        {
            this.port = port;
            this.host = host;
            graphics = new GraphicsDeviceManager(this) { PreferredBackBufferWidth = 640, PreferredBackBufferHeight = 480 };
            Screen = new Rectangle(0, 0,graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight);
            Content.RootDirectory = "Content";
            var config = new NetPeerConfiguration("xnaapp");
            config.EnableMessageType(NetIncomingMessageType.DiscoveryResponse);

            client = new NetClient(config);
            client.Start();
        }
Пример #10
0
    /// <summary>
    /// Destroys specified client.
    /// </summary>
    /// <returns><c>true</c>, if client was destroyed, <c>false</c> otherwise.</returns>
    /// <param name="c">NetClient object to destroy</param>
    public static bool DestroyClient( NetClient c )
    {
        if( mClients.Contains(c) == false ){
            Debug.Log ("NetManager::DestroyClient( " + c.mSocket.ToString () + ") - Client does not exist!" );
            return false;
        }

        NetworkTransport.RemoveHost( c.mSocket );

        mClients.Remove (c);

        return true;
    }
Пример #11
0
    /// <summary>
    /// Console command for connecting a client.
    /// </summary>
    public string ConsoleClientConnect( params string[] args )
    {
        if( args.Length < 3 ){
            return "Invalid Number of Arguments : client.connect <ip> <port>";
        }

        mClient = NetManager.CreateClient ();
        mClient.Connect ( args[1] , int.Parse ( args[2] ) );

        if(mClient!= null){
            return "Client is connected!";
        } else {
            return "Client connection failed!";
        }
    }
Пример #12
0
    /// <summary>
    /// Create a client that is ready to connect with a server.
    /// </summary>
    /// <returns>The client.</returns>
    public static NetClient CreateClient()
    {
        if(!mIsInitialized){
            Debug.Log ("NetManager::CreateServer( ... ) - NetManager was not initialized. Did you forget to call NetManager.Init()?");
            return null;
        }

        NetClient c = new NetClient();

        if(mClients.Contains(c) != true ){
            mClients.Add (c);
        }

        return c;
    }
Пример #13
0
        private void InitializeClient()
        {
            _config = new NetPeerConfiguration("MudServer");//@ string appID
            _client = new NetClient(_config);//intialize with the config
            _client.RegisterReceivedCallback(new SendOrPostCallback(RecieveData));//Attach the new thread for server responses
            _client.Start();//start the socket
            //need to add logger
            Console.WriteLine("started the client socket");

            try//try to connect to server
            {
                //50.44.56.227
              //  _client.Connect(new System.Net.IPEndPoint(new System.Net.IPAddress(new byte[] { 50, 44, 56, 227 }), 5268));
                //_client.Connect(new System.Net.IPEndPoint(new System.Net.IPAddress(new byte[] { 172, 17, 109, 174 }), 5268));
               _client.Connect("localhost", 5268);
            }
            catch (Exception e)//fail try localhost
            {
                _client.Connect("localhost", 5268);//connect the client to the server50.45.120.46
            }
            Console.WriteLine("Requesting Connection to server");
            me = new Player();

             new Thread(new ThreadStart(delegate
            {
                while (true)
                {
                    try
                    {
                        if (_client.ServerConnection != null)
                            if (_client.ServerConnection.Status == NetConnectionStatus.Disconnected)
                                ConnectionRect.Dispatcher.Invoke(new Action(() => { ConnectionRect.Fill = new SolidColorBrush(System.Windows.Media.Colors.Red); }));
                            else
                                ConnectionRect.Dispatcher.Invoke(new Action(() => { ConnectionRect.Fill = new SolidColorBrush(System.Windows.Media.Colors.Green); }));
                        else
                            ConnectionRect.Dispatcher.Invoke(new Action(() => { ConnectionRect.Fill = new SolidColorBrush(System.Windows.Media.Colors.Red); }));
                    }
                    catch (Exception e)
                    { }
                    Thread.Sleep(2000);
                }

            })).Start();
        }
        static void Main(string[] args)
        {
            NetPeerConfiguration config = new NetPeerConfiguration("garbagethrower");
            var client = new NetClient(config);

            client.Start();

            var target = new IPEndPoint(NetUtility.Resolve("localhost"), 14242);
            var buffer = new byte[1024];
            var rnd = new Random();

            int batch = 0;
            // use RawSend to throw poop at server
            while(true)
            {
                rnd.NextBytes(buffer);
                int length = rnd.Next(1, 1023);

                switch (rnd.Next(2))
                {
                    case 0:
                        // complete randomness
                        break;
                    case 1:
                        // semi-sensical
                        buffer[1] = 0; // not a fragment, sequence number 0
                        buffer[2] = 0; // not a fragment, sequence number 0
                        buffer[3] = (byte)length;			// correct payload length
                        buffer[4] = (byte)(length >> 8);	// correct payload length
                        break;
                }

                // fling teh poop
                client.RawSend(buffer, 0, length, target);

                batch++;
                if (batch >= 3)
                {
                    batch = 0;
                    Thread.Sleep(0);
                }
            }
        }
Пример #15
0
    void Start()
    {
        GameObject.DontDestroyOnLoad(this);
        GameObject.DontDestroyOnLoad(gameObject);

        client = new NetClient(new NetPeerConfiguration("LidgrenDemo"));
        client.Start();
        client.Connect(host, port);

        SetPeer(client);

        Connected += onConnected;
        Disconnected += onDisconnected;

        RegisterMessageHandler(LidgrenMessageHeaders.Hello, onHello);
        RegisterMessageHandler(LidgrenMessageHeaders.Spawn, onSpawn);
        RegisterMessageHandler(LidgrenMessageHeaders.Despawn, onDespawn);
        RegisterMessageHandler(LidgrenMessageHeaders.Movement, onMovement);
        RegisterMessageHandler(LidgrenMessageHeaders.Position, onPosition);
    }
Пример #16
0
    public void send()
    {
        Patient PAT = new Patient(name.text, family.text, suffix.text, Convert.ToInt32(gender.text), Convert.ToDateTime(birthDate.text), polis.text, Convert.ToInt32(SocialStatus.text), Convert.ToInt32(Privileges.text));
        string json = JsonConvert.SerializeObject(PAT);

        int ClientPort = 25000;
        string ClientIP = "95.31.16.180";

        NetPeerConfiguration config = new NetPeerConfiguration(" ");
        config.SetMessageTypeEnabled(NetIncomingMessageType.UnconnectedData, true);
        config.Port = 1212;
        NetClient client = new NetClient(config);
        NetOutgoingMessage msg = client.CreateMessage();
        msg.Write((byte)0);
        msg.Write(json);
        client.Start();
        client.SendUnconnectedMessage(msg, ClientIP, ClientPort);

        Debug.Log("ОК");
    }
Пример #17
0
    void Start()
    {
        try
        {
            Debug.Log("client try Start");
            config = new NetPeerConfiguration(" ");
            DontDestroyOnLoad(this);

            config.SetMessageTypeEnabled(NetIncomingMessageType.UnconnectedData, true);
            config.Port = 1212;

            client = new NetClient(config);

            client.Start();
            Debug.Log("client Start");
        }
        catch (Exception e )
        {
            Debug.Log (e.Message);
        }
    }
Пример #18
0
        /// <summary>
        /// Constructs this GameManager instance by instantiating all other necessary classes.
        /// </summary>
        /// <param name="modSettings">The loaded ModSettings instance or null if no such instance could be
        /// loaded.</param>
        public GameManager(ModSettings modSettings)
        {
            ThreadUtil.Instantiate();

            FontManager.LoadFonts();
            TextureManager.LoadTextures();

            var packetManager = new PacketManager();

            var netClient = new NetClient(packetManager);
            var netServer = new NetServer(packetManager);

            var clientGameSettings = new Settings.GameSettings();
            var serverGameSettings = modSettings.GameSettings ?? new Settings.GameSettings();

            var uiManager = new UiManager(
                clientGameSettings,
                modSettings,
                netClient
                );

            var serverManager = new ModServerManager(
                netServer,
                serverGameSettings,
                packetManager,
                uiManager
                );

            serverManager.Initialize();

            new ClientManager(
                netClient,
                serverManager,
                packetManager,
                uiManager,
                clientGameSettings,
                modSettings
                );
        }
Пример #19
0
    private static void SendCCommandConnect(string commandStr, string[] args)
    {
        string str = "";

        for (int i = 2; i < commandStr.ToLower().Length; i++)
        {
            str = str + commandStr.ToLower()[i];
        }

        for (int i = 0; i < args.Length; i++)
        {
            str += "&" + args[i];
        }


        C2SChatCommon data = new C2SChatCommon();

        data.type         = GameConst.CHAT_BCAST_ALL;
        data.info         = new PkgChatC2S();
        data.info.content = System.Text.Encoding.UTF8.GetBytes(str);
        NetClient.GetBaseClient().SendData <C2SChatCommon>(NetMsg.MSG_CHAT_COMMON, data);
    }
Пример #20
0
        public LogHelper(string clientkey)
        {
            mClientkey = clientkey;
            NetClient client = NetClientManager.GetNetClient(clientkey);

            if (client.Database != "monitor")
            {
                mTableUnitManager = TableHelper.GetTableUnitManager(clientkey);
                TableUnit unit = mTableUnitManager.GetTableUnit("sys_remote_log");
                mLogTable = unit.GetTable();
            }

            int length = Convert.ToInt32(LogType.END);

            mConsoleFlag = new bool[length];
            mFileFlag    = new bool[length];
            for (int i = 0; i < length; ++i)
            {
                mConsoleFlag[i] = true;
                mFileFlag[i]    = true;
            }
        }
Пример #21
0
        public ImageGetter(string host, NetPeerConfiguration copyConfig)
        {
            InitializeComponent();

            NetPeerConfiguration config = copyConfig.Clone();

            config.EnableMessageType(NetIncomingMessageType.DiscoveryResponse);
            config.EnableMessageType(NetIncomingMessageType.DebugMessage);
            m_readList = new List <NetIncomingMessage>();

            Client = new NetClient(config);
            Client.Start();

            if (!string.IsNullOrEmpty(host))
            {
                Client.Connect(host, 14242, GetApproveData());
            }
            else
            {
                Client.DiscoverLocalPeers(14242);
            }
        }
Пример #22
0
        public void Connect()
        {
            if (netClient != null && netClient.Status == NetPeerStatus.Running)
            {
                return;
            }

            isConnected = false;

            netConfig.EnableMessageType(NetIncomingMessageType.DiscoveryResponse);

            // Create a client
            netClient = new NetClient(netConfig);
            netClient.Start();

            try
            {
                if (waitForServer)
                {
                    Thread connectionThread = new Thread(new ThreadStart(TryConnect));
                    connectionThread.Start();
                }
                else
                {
                    if (isLocalAddress)
                    {
                        netClient.DiscoverLocalPeers(portNumber);
                    }
                    else
                    {
                        netClient.DiscoverKnownPeer(hostPoint);
                    }
                }
            }
            catch (SocketException se)
            {
                Log.Write("Socket exception is thrown in Connect: " + se.StackTrace);
            }
        }
        private static void MessageReceived(object peer)
        {
            NetIncomingMessage incoming;

            while ((incoming = NetClient.ReadMessage()) != null)
            {
                incoming.Decrypt(new NetXtea("SuperSecretKey"));

                switch (incoming.MessageType)
                {
                case NetIncomingMessageType.Data:
                {
                    string name = incoming.ReadString();
                    string msg  = incoming.ReadString();

                    Program.Form.AddMessage(name, msg);

                    break;
                }
                }
            }
        }
Пример #24
0
        public IPEndPoint CheckForBroadCast(NetClient client)
        {
            Debug.WriteLine("Sending discovery signal");
            client.DiscoverLocalPeers(9981);

            while (true)
            {
                NetIncomingMessage inc;
                if ((inc = client.ReadMessage()) == null)
                {
                    continue;
                }

                switch (inc.MessageType)
                {
                case NetIncomingMessageType.DiscoveryResponse:
                    Console.WriteLine("Found server at " + inc.SenderEndPoint + " name: " + inc.ReadString());

                    return(inc.SenderEndPoint);
                }
            }
        }
Пример #25
0
        private void OnAvailableMonsters(NetworkMessage msg)
        {
            AvailableMonstersResponseMessage message = msg.ReadMessage <AvailableMonstersResponseMessage>();

            //reverse 1 : 1 relationship for easy monster selection
            Dictionary <int, int> nodeMonsters = _friendlyMonsterState.ToDictionary(m => m.Value, m => m.Key);

            if (message.ActionNumber != 1 && message.ActionNumber != 2)
            {
                return;
            }

            // get first monster
            var firstIndex = message.AvailableMonsterNodeIds[0];

            NetClient.Send(CustomMessageTypes.SelectMonsterRequest, new SelectMonsterRequestMessage
            {
                ActionNumber          = message.ActionNumber,
                SubActionNumber       = message.SubActionNumber,
                SelectedMonsterTypeId = nodeMonsters[firstIndex]
            });
        }
Пример #26
0
        static LidgrenSessionManager()
        {
            var serverConfiguration = new NetPeerConfiguration(Application.Instance.Name)
            {
                AcceptIncomingConnections = true,
                AutoFlushSendQueue        = false,
                Port = ServerPort,
            };

            serverConfiguration.EnableMessageType(NetIncomingMessageType.DiscoveryRequest);
            Server = new NetServer(serverConfiguration);

            var clientConfiguration = new NetPeerConfiguration(Application.Instance.Name)
            {
                AcceptIncomingConnections = false,
                AutoFlushSendQueue        = false,
                Port = ClientPort,
            };

            clientConfiguration.EnableMessageType(NetIncomingMessageType.DiscoveryResponse);
            Client = new NetClient(clientConfiguration);
        }
Пример #27
0
        public Connection(Game game, ref Player _player, ref Player _enemy)
        {
            this.game = game;
            enemy     = _enemy;
            player    = _player;

            NetPeerConfiguration config = new NetPeerConfiguration("Flags");

            config.EnableMessageType(NetIncomingMessageType.DiscoveryResponse);

            client = new NetClient(config);
            client.Start(); //starting connection attempt.

            if (local)
            {
                client.DiscoverLocalPeers(14242);
            }
            else
            {
                client.DiscoverKnownPeer("77.127.40.31", 14242); //server on gil's home for now.
            }
        }
Пример #28
0
        public void Login(string ip, int port)
        {
            // 切换服务器时,需要断开连接再重连
            StopNetClient();

            if (NetClient.GetBaseClient().NetState == NetClient.ENetState.ES_Disconnect ||
                NetClient.GetBaseClient().NetState == NetClient.ENetState.ES_UnInit)
            {
                Debug.Log(string.Format("Begin to connect server, ip:{0} port: {1}", ServerIP, ServerPort));
                NetClient.GetBaseClient().Start(ip, port);
            }
            else
            {
                if (NetClient.GetBaseClient().NetState == NetClient.ENetState.ES_Connected)
                {
                    GameDebug.Log("Connection has been established");
                }
                // 正在连接中,等待即可
                //else if (NetClient.GetInstance().NetState == NetClient.ENetState.ES_Connecting)
                //xc.ui.UIWidgetHelp.GetInstance().ShowNoticeDlg("连接中,请稍后...");
            }
        }
Пример #29
0
        public DataTableRemoting(string clientKey)
        {
            mLogHelper = TableHelper.GetLogHelper(clientKey);
            string message = "get new loghelper success.";

            mLogHelper.LogMessage(clientKey, message, LogType.Program);

            mClientKey = clientKey;
            NetClient netclient = NetClientManager.GetNetClient(clientKey);

            mHostName = netclient.HostName;
            mDBName   = netclient.Database;
            message   = "get net client success.";
            mLogHelper.LogMessage(clientKey, message, LogType.Program);

            mTableUnitManager = TableHelper.GetTableUnitManager(clientKey);
            message           = "get table unit manager success.";
            mLogHelper.LogMessage(clientKey, message, LogType.Program);

            message = "get new DataTableRemoting.";
            mLogHelper.LogMessage(mClientKey, message, LogType.Program);
        }
Пример #30
0
        public void Start()
        {
            if (SynchronizationContext.Current == null)
            {
                SynchronizationContext.SetSynchronizationContext(new SynchronizationContext());
            }

            var config = new NetPeerConfiguration("PabloDraw");

            //config.Port = port;
#if SIMULATE_LATENCY
            config.SimulatedMinimumLatency = 0.2f;
            config.SimulatedRandomLatency  = 0.5f;
            config.SimulatedLoss           = 0.01f;
#endif

                        #if DEBUG
            config.EnableMessageType(NetIncomingMessageType.DebugMessage);
                        #endif
            client = new NetClient(config);

            var startupMessage = client.CreateMessage();
            startupMessage.WriteVariableInt32(Server.VERSION);
            var version = Assembly.GetEntryAssembly().GetName().Version;
            startupMessage.Write(version.ToString());
            startupMessage.Write(Password);
            CurrentUser.Send(new SendCommandArgs(startupMessage, this));

            client.RegisterReceivedCallback(ReceiveCallback);
            client.Start();
            if (!string.IsNullOrEmpty(Hostname))
            {
                client.Connect(Hostname, Port, startupMessage);
            }
            else
            {
                client.Connect(new IPEndPoint(IPAddress.Loopback, Port), startupMessage);
            }
        }
        static void Main()
        {
            NetPeerConfiguration serverconfig = new NetPeerConfiguration("chat");

            serverconfig.Port = 8081;
            serverconfig.MaximumConnections = 100;
            server = new NetServer(serverconfig);
            Thread serverthread = new Thread(StartServer);

            serverthread.Start();



            NetPeerConfiguration clientconfig = new NetPeerConfiguration("chat");

            clientconfig.AutoFlushSendQueue = false;
            client = new NetClient(clientconfig);
            Thread clientthread = new Thread(StartClient);

            clientthread.Start();
            AcceptConsoleInput();
        }
Пример #32
0
        protected override void connectImpl()
        {
            NetPeerConfiguration config = new NetPeerConfiguration("StardewValley");

            config.EnableMessageType(NetIncomingMessageType.DiscoveryResponse);
            config.EnableMessageType(NetIncomingMessageType.Data);
            config.ConnectionTimeout       = 30f;
            config.PingInterval            = 5f;
            config.MaximumTransmissionUnit = 1200;
            this.client = new NetClient(config);
            this.client.Start();
            int serverPort = 24642;

            if (this.address.Contains(":"))
            {
                string[] strArray = this.address.Split(':');
                this.address = strArray[0];
                serverPort   = Convert.ToInt32(strArray[1]);
            }
            this.client.DiscoverKnownPeer(this.address, serverPort);
            ModCore.monitor.Log("Success on generating modded lidgren client.");
        }
Пример #33
0
        /// <summary>
        ///  发帖
        /// </summary>
        /// <param name="bangId">帮派id</param>
        /// <param name="title"></param>
        /// <param name="content"></param>
        /// <param name="vc"></param>
        /// <returns></returns>
        public async Task <PostsInfo> SendPosts(long bangId, string title, string content, string vc = "")
        {
            var ctx = NetClient.Create <PostsInfo>(HttpMethod.Get, ApiList.SendPosts.FormatWith(bangId),
                                                   ApiList.SendPosts.FormatWith(bangId));

            /*
             *  title:第一次发帖,不知道成功了会是什么样的
             *  content:第一次发帖,不知道成功了会是什么样的
             *  cat:0
             *  topic_id:0
             *  tag:
             *  verify_code:8bycc
             *  _T_:8982432,143722964,1501774845
             */
            await ctx.SendAsync();

            if (!ctx.IsValid())
            {
                throw ctx.Exception ?? new Exception("未能提交请求JoinBang");
            }
            return(ctx.Result);
        }
Пример #34
0
        static void Main(string[] args)
        {
            var config = new NetPeerConfiguration("application name");
            var client = new NetClient(config);

            client.Start();
            client.Connect(host: "127.0.0.1", port: 12345);

            ThroughtThread(client);

            string input = string.Empty;

            while (input != "exit")
            {
                input = Console.ReadLine();
                var message = client.CreateMessage();
                message.Write(input);
                client.SendMessage(message, NetDeliveryMethod.ReliableOrdered);
            }

            Console.WriteLine("Hello World!");
        }
Пример #35
0
        public void Handle(NetClient netclient, GatewayCommand cmd)
        {
            var arr = cmd.Content.FromJson <RegisterServiceLocation[]>();

            if (((IPEndPoint)netclient.Socket.RemoteEndPoint).Address.ToString() != _referee.MasterIp.Address)
            {
                netclient.WriteServiceData(new InvokeResult
                {
                    Success = false
                });
                return;
            }

            foreach (var location in arr)
            {
                _referee.MasterGatewayServices[$"{location.Host}:{location.Port}"] = location;
            }

            netclient.WriteServiceData(new InvokeResult {
                Success = true
            });
        }
Пример #36
0
        public Network(Settings settings)
        {
            type = settings.netType;
            port = settings.port;
            NetPeerConfiguration config = new NetPeerConfiguration(name);

            if (IsServer())
            {
                config.Port = port;
                config.EnableMessageType(NetIncomingMessageType.ConnectionApproval);
                NetServer netServer = new NetServer(config);
                netServer.Start();
                peer = netServer;
            }
            else
            {
                ip = settings.ip;
                NetClient client = new NetClient(config);
                client.Start();
                peer = client;
            }
        }
Пример #37
0
        public static void Connect(string sessid, string ip)
        {
            Sessid = sessid;

            NetPeerConfiguration config = new NetPeerConfiguration("Kakoi");

            client = new NetClient(config);
            NetOutgoingMessage outmsg = client.CreateMessage();

            PlayerName = sessid;

            client.Start();

            outmsg.Write((short)PacketTypes.LOGINSESSID);
            outmsg.Write(sessid);

            client.Connect(ip, 25000, outmsg);

            GameStateList = new List <Player>();

            new Thread(IncomingHandler).Start();
        }
Пример #38
0
        public void Interview(Socket socket)
        {
            try
            {
                using (var client = new NetClient(socket))
                {
                    var cmd = client.ReadServiceObject <GatewayCommand>();
                    if (cmd == null)
                    {
                        client.Write(Encoding.UTF8.GetBytes("ok"));
                        return;
                    }
                    _logger?.LogDebug("收到命令,type:{0} content:{1}", cmd.Type, cmd.Content);

                    _manager.AllocHandler(cmd)?.Handle(client, cmd);
                }
            }
            catch (Exception ex)
            {
                _logger?.LogError(ex, ex.Message);
            }
        }
Пример #39
0
 private void _Start()
 {
     DoStart();
     foreach (var mgr in managers)
     {
         mgr.DoStart();
     }
     Debug.Trace("Before StartGame _IdCounter:" + BaseEntity.idCounter);
     if (!isReplay && !isClientMode)
     {
         netClient = new NetClient();
         netClient.Start();
         netClient.Send(new Msg_JoinRoom()
         {
             name = Application.dataPath
         });
     }
     else
     {
         StartGame(0, playerServerInfos, localPlayerId);
     }
 }
Пример #40
0
        public static void StartNetworkSystem()
        {
            Config.EnableMessageType(NetIncomingMessageType.ConnectionLatencyUpdated);
            Config.EnableMessageType(NetIncomingMessageType.NatIntroductionSuccess);
            Config.EnableMessageType(NetIncomingMessageType.UnconnectedData);

            ClientConnection = new NetClient(Config);
            ClientConnection.Start();

            NetworkServerList.RefreshMasterServers();

            SendThread?.Wait(1000);
            ReceiveThread?.Wait(1000);

            ReceiveThread = new Task(NetworkReceiver.ReceiveMain);
            SendThread    = new Task(NetworkSender.SendMain);

            SendThread.Start(TaskScheduler.Default);
            ReceiveThread.Start(TaskScheduler.Default);

            NetworkServerList.RequestServers();
        }
Пример #41
0
        protected Entity(
            NetClient netClient,
            EntityType entityType,
            byte entityId,
            GameObject gameObject
            )
        {
            _netClient  = netClient;
            _entityType = entityType;
            _entityId   = entityId;
            GameObject  = gameObject;

            _stateVariableUpdates = new Queue <StateVariableUpdate>();

            _stateTransitions = new Dictionary <string, FsmTransition[]>();

            // Add a position interpolation component to the enemy so we can smooth out position updates
            GameObject.AddComponent <PositionInterpolation>();

            // Register an update event to send position updates
            MonoBehaviourUtil.Instance.OnUpdateEvent += OnUpdate;
        }
Пример #42
0
        private void HandleUDPLinkRequest(NetworkMessage msg)
        {
            MsgUDPLinkRequest udp = msg as MsgUDPLinkRequest;

            if (udp.FromUDP)
            {
                if (UDPRequestSent)
                {
                    UDPInOk = true;
                    NetClient.SendMessage(false, new MsgUDPLinkEstablished());

                    if (UDPOutOk)
                    {
                        if (UDPLinkEstablished != null)
                        {
                            UDPLinkEstablished.Invoke(this, EventArgs.Empty);
                        }
                        UDPSendEnabled = true;
                    }
                }
            }
        }
Пример #43
0
        public NetworkMultiplayer(bool createServer = false) : base(GameModes.Network)
        {
            if (createServer)
            {
                GameServer = new GameServer();
            }

            //read network on each update
            Game.Instance.OnUpdate += ReadNetwork;

            //server config
            NetPeerConfiguration config = new NetPeerConfiguration("tank");

            config.EnableMessageType(NetIncomingMessageType.DiscoveryResponse);

            //server creation
            Client = new NetClient(config);
            Client.Start();

            if (!createServer)
            {
                //check whether the user has a known server
                ListMenu serverMenu = new ListMenu("Do you want to connect to a given IP (if yes, enter in console)?", "tank.Code.YESORNOCHOOSENOW", ConnectionMethodSelectionCallback);
                Scene.Add(serverMenu);
            }
            else//we know that a local server must exist
            {
                Client.DiscoverLocalPeers(14242);
            }
            //register handler for receiving data
            OnClientData += IncomingHandler;

            //are we client, or are we dancer?
            if (!createServer)
            {
                Console.WriteLine("client");
            }
        }
Пример #44
0
        /// <summary>
        /// 停止拾取动画
        /// </summary>
        /// <param name="is_break">是否是中断(若为false,则是正常结束动画)</param>
        /// <param name="exec_finish_action">是否停止拾取动作</param>
        public void StopAnim(bool is_break, bool exec_finish_action = false)
        {
            if (mTimer == null)
            {
                return;
            }

            //GameDebug.LogRed("StopAnim = " + is_break.ToString());
            C2SNwarPickBossChipStop reply = new C2SNwarPickBossChipStop();

            AudioManager.Instance.StopAudio_dynamic(m_pick_boss_sound_id);
            if (is_break)
            {
                UINotice.Instance.ShowMessage(DBConstText.GetText("WORLD_BOSS_PICK_STOP_TIPS"));
                reply.type = 1;
            }
            else
            {
                reply.type = 0;
            }

            NetClient.GetCrossClient().SendData <C2SNwarPickBossChipStop>(NetMsg.MSG_NWAR_PICK_BOSS_CHIP_STOP, reply);
            mTimer.Destroy();
            mTimer = null;

            m_pick_boss_sound_id = 0;
            ClientEventMgr.Instance.FireEvent((int)(ClientEvent.CE_PICK_DROP_CONTROL_SLIDER), new CEventObjectArgs(false, 0));

            if (exec_finish_action)
            {
                Actor actor = Game.Instance.GetLocalPlayer();
                if (actor != null)
                {
                    Player player = actor as Player;
                    player.FinishPickUpEffect();
                }
            }
        }
Пример #45
0
    public void ConnectToServer()
    {
        spawnedSync.Clear();
        spawnedPlayers.Clear();

        nickname = global.player.Nickname;
        var config = new NetPeerConfiguration("Ostfront")
        {
            EnableUPnP                = true,
            ReceiveBufferSize         = 16035,
            SendBufferSize            = 16035,
            AcceptIncomingConnections = true
        };

        config.SetMessageTypeEnabled(NetIncomingMessageType.NatIntroductionSuccess, true);
        config.SetMessageTypeEnabled(NetIncomingMessageType.UnconnectedData, true);
        config.SetMessageTypeEnabled(NetIncomingMessageType.ConnectionApproval, true);

        _client = new NetClient(config);
        _client.Start();

        new OF_GameServer.LoopMessages(_client);

        if (!isOffline)
        {
            NetOutgoingMessage connectionMessage = _client.CreateMessage();
            //connectionMessage.Write((byte)GlobalServerTransmissionEnum.IntroduceToPublicServer);
            connectionMessage.Write(serverName);
            connectionMessage.Write(new IPEndPoint(global.GetInternal(), _client.Port));
            _client.SendUnconnectedMessage(connectionMessage, GlobalServerIP);
        }
        else
        {
            StartCoroutine("OfflineConnection");
        }

        StartCoroutine("CheckConnect");
    }
Пример #46
0
    /// <4mmary>
    ///  서버 접속함수
    /// </summary>
    public void ConnectServer()
    {
        Debug.Log("ConnectServer Start ProudNet ");
        // 클라전요일때

        /*if (!false)
         *  return;*/

        _netClient = new NetClient();

        _C2SProxy = new TakeGameC2S.Proxy();
        _S2CStub  = new TakeGameS2C.Stub();


        _C2CProxy = new TakeGameC2C.Proxy();
        _C2CStub  = new TakeGameC2C.Stub();

        _netClient.AttachProxy(_C2SProxy);
        _netClient.AttachStub(_S2CStub);

        _netClient.AttachProxy(_C2CProxy);
        _netClient.AttachStub(_C2CStub);

        _serverAnswer = new RespondServerAsk();

        RegistProtocal();

        //if (DefineHelper.i.IsAndroid == false)
        {
            _port = 15001;
        }

        _netClient.Connect(GetNetworkParam());


        Debug.Log("Connecting ");
        this.StartLoading();
    }
Пример #47
0
        public Client(Game1 theGame)
        {
            game = theGame;

            NetPeerConfiguration config = new NetPeerConfiguration("gamajama");
            config.AutoFlushSendQueue = false;
            config.AcceptIncomingConnections = true;
            config.EnableMessageType(NetIncomingMessageType.DiscoveryResponse);
            config.EnableMessageType(NetIncomingMessageType.DiscoveryRequest);
            config.EnableMessageType(NetIncomingMessageType.StatusChanged);
            config.EnableMessageType(NetIncomingMessageType.ErrorMessage);
            config.EnableMessageType(NetIncomingMessageType.DebugMessage);
            config.EnableMessageType(NetIncomingMessageType.VerboseDebugMessage);
            config.EnableMessageType(NetIncomingMessageType.Data);
            s_client = new NetClient(config);

            s_client.RegisterReceivedCallback(new SendOrPostCallback(GotMessage));
            s_client.Start();

            s_client.DiscoverLocalPeers(14240);
            NetOutgoingMessage hail = s_client.CreateMessage("This is the hail message");
            //s_client.Connect(theGame.hostIP, 14240, hail);
        }
Пример #48
0
        public void UpdateNetwork()
        {
            if (IsConnected)
            {
                NetIncomingMessage msg;
                while ((msg = NetClient.ReadMessage()) != null)
                {
                    OnMessageArrived(msg);
                    NetClient.Recycle(msg);
                }
            }

            if (!IsConnected && NetClient.ServerConnection != null)
            {
                OnConnected();
                IsConnected = true;
            }
            else if (IsConnected && NetClient.ServerConnection == null)
            {
                OnDisconnected();
                IsConnected = false;
            }
        }
Пример #49
0
      static void Main()
      {
         Application.EnableVisualStyles();
         Application.SetCompatibleTextRenderingDefault(false);
         //PList = new PlayerList();
         MainForm = new ChatForm();
         AppConfig = new Configuration();
         IsAppHidden = AppConfig.RunMinimized;

         // Create a configuration for the client
         Program.ChatApplicationBusiness.Config = new NetAppConfiguration("BBTcpTest");

         // enable encryption; this key was generated using the 'GenerateEncryptionKeys' application
         Config.EnableEncryption(
              "AQABwV1rQ1NDWzkkhUsYtMiRGjyxSn/zI13tros2RlXHlW6PA7Cvw2nOyMhDmweM+" +
              "T/+FWzssAWLh8qd+YHaMCCFskVdaZfRzquZlNOs9mX/vtxkLrXgBUaJQD/XOuBeJF" +
              "o3RfAKA4uhrEr7Bk1iB3zJQW1bSHK7KmmEWzMErk6iA7c=", null);

         Log = new NetLog();
         Log.IgnoreTypes = NetLogEntryTypes.Verbose; //  Verbose;
         Log.IsOutputToFileEnabled = false;

         Log.OutputFileName = "clientlog.html";

         // uncomment this if you want to start multiple instances of this process on the same computer
         //Log.OutputFileName = "clientlog" + System.Diagnostics.Process.GetCurrentProcess().Id + ".html";

         //Log.LogEvent += new EventHandler<NetLogEventArgs>(Log_LogEvent);

         Client = new NetClient(Config, Log);
         Client.StatusChanged += new EventHandler<NetStatusEventArgs>(Client_StatusChanged);

         Application.Idle += new EventHandler(ApplicationLoop);
         MainForm.TypingStateChanged += new EventHandler<ChatForm.TypingEvent>(MainForm_TypingStateChanged);

         CreateNotificationIcon();
         Application.Run(MainForm);

         if (Client != null)
            Client.Shutdown("Application exiting");

         if (notifyIconNA != null)
            notifyIconNA.Visible = false;
      }
Пример #50
0
        /// <summary>
        /// Ftp controller
        /// </summary>
        public Ftp()
        {
            this.client = new OneDriveClient();

            ///State change
            this.client.State += (object sender, StateEventArgs e) =>
            {
                this.IsLogged = e.State == ConnectionStatus.Connected;
                if (OnStateChange != null)
                {
                    OnStateChange.Invoke(this, e);
                }
            };

            ///Error
            this.client.Error += (object sender, ErrorEventArgs e) =>
            {
                if (Error != null)
                {
                    Error.Invoke(this, e);
                }
            };
        }
Пример #51
0
        public void Dispose()
        {
            //if client is sending some data, wait for finish
            if (clientSocket != null)
            {
                clientSocket.Disconnect();
                clientSocket = null;
            }

            if (serverSocket != null)
            {
                serverSocket.DisconnectAll();
                serverSocket.Stop();
                serverSocket = null;
            }
        }
Пример #52
0
    /// <summary>
    /// Runs network test to determine interface functionality status. Currently has bug where running twice crashes.
    /// </summary>
    /// <returns>The local test.</returns>
    /// <param name="args">Arguments.</param>
    public string FullLocalTest( params string[] args )
    {
        int port = Random.Range( 100 , 99999 );
        int maxUsers = Random.Range( 2 , 100 );
        string ip = "127.0.0.1";

        Debug.Log ("FullLocalTest() START : Port( " + port.ToString () + " ) MaxUsers( " + maxUsers.ToString() + ")");

        mServer = NetManager.CreateServer( maxUsers , port );

        mServer.OnMessage = OnServerMessage;

        if(mServer == null){ Debug.Log ("FullLocalTest() ERROR : Server instance not created!" ); return ""; }
        if(!NetUtils.IsSocketValid( mServer.mSocket )){ Debug.Log ("FullLocalTest() ERROR : Server socket invalid!" ); return ""; }
        if(!mServer.mIsRunning){ Debug.Log ("FullLocalTest() ERROR : Server is not running after create server called!" ); return ""; }

        Debug.Log ("FullLocalTest() : Server started successfully!");

        mClient = NetManager.CreateClient ();

        if(mClient == null){ Debug.Log ("FullLocalTest() ERROR : Client instance not created!" ); return ""; }
        if(!NetUtils.IsSocketValid ( mClient.mSocket ) ){ Debug.Log ("FullLocalTest() ERROR : Client socket invalid!"); return ""; }

        mClient.OnMessage = OnClientMessage;

        Debug.Log ("FullLocalTest() : Client started successfully!");

        if(! mClient.Connect ( ip , port ) ){ Debug.Log ("FullLocalTest() ERROR : Client connect failed!"); return ""; }

        // Now we go to our On*Message delegates to do the rest of the testing
        return "";
    }
Пример #53
0
 public DotaMatchClient()
 {
     tvClient = new NetClient();
 }
Пример #54
0
 public NetWorkManager()
 {
     MaxThreads = -1;
     m_Client = new NetClient ();
     m_SendMsgs = new Queue<SendMsg>();
     m_Client.JoinServerCompleteHandler = OnJoinServerComplete;
     m_Client.LeaveServerHandler = OnLeaveServer;
     m_Client.ReceivedUserMessageHandler = OnReceiveUserMessage;
     m_Client.P2PMemberJoinHandler = OnP2PMemberJoin;
     m_Client.P2PMemberLeaveHandler = OnP2PMemberLeave;
     Loom.StartSingleThread(SendMessages, System.Threading.ThreadPriority.Normal, false);
     myScheduler = Loom.CreateThreadPoolScheduler("myScheduler");
     myScheduler.ForceToMainThread = false;
 }
Пример #55
0
        public void InspectWorkingThread()
        {
            _trees = new Dictionary<Guid, FooTree>();
            _repoStates = new List<RepositoryStateCollection>();

            Progress.ValueChanged += new RoutedPropertyChangedEventHandler<double>((object sender, RoutedPropertyChangedEventArgs<double> args) =>
                {
                    _mainWindow.TaskbarItemInfo.ProgressValue = args.NewValue / 100;
                }
            );

            //
            // Get RepositoryStateCollection and FooTree for each URL in the sync group.
            //

            foreach (FooSyncUrl url in _syncGroup.URLs)
            {
                RepositoryStateCollection currentStateColl;
                NetClient client;
                FooTree tree;

                Dispatcher.Invoke(new Action(() =>
                    {
                        _mainWindow.TaskbarItemInfo.ProgressState = TaskbarItemProgressState.Indeterminate;
                        Progress.IsIndeterminate = true;
                        ProgressText.Text = "Getting Repository State...";
                        DetailText1.Text = url.NaturalFormat;
                        DetailText2.Text = string.Empty;
                    }
                ));

                if (url.IsLocal)
                {
                    try
                    {
                        currentStateColl = new RepositoryStateCollection(Path.Combine(url.LocalPath, FooSyncEngine.RepoStateFileName));
                    }
                    catch (FileNotFoundException)
                    {
                        currentStateColl = new RepositoryStateCollection();
                    }
                    catch (DirectoryNotFoundException ex)
                    {
                        MessageBox.Show(string.Format("Something's wrong: {0}\nI can't continue!", ex.Message), "Directory Not Found", MessageBoxButton.OK, MessageBoxImage.Error);
                        throw;
                    }

                    DateTime last = DateTime.Now;
                    tree = new FooTree(
                        MainWindow.Foo,
                        url.LocalPath,
                        FooSyncEngine.PrepareExceptions(_syncGroup.IgnorePatterns.OfType<IIgnorePattern>().ToList()),
                        new Progress((current, total, path) =>
                        {
                            if ((DateTime.Now - last).Milliseconds > ProgressUpdateRateMsecs)
                            {
                                last = DateTime.Now;
                                Dispatcher.Invoke(new Action(() =>
                                    {
                                        _mainWindow.TaskbarItemInfo.ProgressState = TaskbarItemProgressState.Indeterminate;
                                        Progress.IsIndeterminate = true;
                                        ProgressText.Text = "Enumerating Files...";
                                        DetailText1.Text = string.Format("{0} files so far", current);
                                        DetailText2.Text = Path.Combine(url.LocalPath, Path.GetDirectoryName(path));
                                    }
                                ));
                            }
                        }
                    ));

                    if (currentStateColl.Repositories.Count == 0)
                    {
                        currentStateColl.AddRepository(tree, currentStateColl.RepositoryID);
                    }
                }
                else
                {
                    try
                    {
                        client = new NetClient(MainWindow.Foo, url.Host, url.Port, "WRFDEV", "WRFDEV", url.AbsolutePath.Substring(1));
                        currentStateColl = client.GetState();

                        DateTime last = DateTime.Now;
                        tree = client.GetTree(new Progress((current, total, path) =>
                            {
                                if ((DateTime.Now - last).Milliseconds > ProgressUpdateRateMsecs)
                                {
                                    last = DateTime.Now;
                                    Dispatcher.Invoke(new Action(() =>
                                        {
                                            _mainWindow.TaskbarItemInfo.ProgressState = TaskbarItemProgressState.Indeterminate;
                                            Progress.IsIndeterminate = true;
                                            ProgressText.Text = "Enumerating Files...";
                                            DetailText1.Text = string.Format("{0} files so far", current);
                                            DetailText2.Text = Path.GetDirectoryName(path);
                                        }
                                    ));
                                }
                            }
                        ));
                    }
                    catch (Exception ex)
                    {
                        Dispatcher.Invoke(new Action(() =>
                            {
                                _mainWindow.TaskbarItemInfo.ProgressValue = 1.0;
                                _mainWindow.TaskbarItemInfo.ProgressState = TaskbarItemProgressState.Error;
                            }
                        ));
                        MessageBox.Show(string.Format("Error: {0} ({1})", ex.Message, ex.GetType().Name), "Error Getting Remote Repository", MessageBoxButton.OK, MessageBoxImage.Error);
                        currentStateColl = null;
                        tree = null;
                    }
                }

                if (currentStateColl != null && tree != null)
                {
                    _repoStates.Add(currentStateColl);
                    _trees.Add(currentStateColl.RepositoryID, tree);
                }
            }

            //
            // We want to operate on the oldest repository state collection, so get that one now.
            //

            RepositoryStateCollection bestStateColl = _repoStates.OrderBy(s => s.Modified).First();

            //
            // Now update all of them to have information on any trees they don't yet have.
            // This updates their Modified property, hence why newestStateColl is figured out first.
            //

            foreach (RepositoryStateCollection stateColl in _repoStates)
            {
                foreach (KeyValuePair<Guid, FooTree> treePair in _trees)
                {
                    if (!stateColl.Repositories.Any(statePair => statePair.Key == treePair.Key))
                    {
                        stateColl.AddRepository(treePair.Value, treePair.Key);
                    }
                }
            }

            //
            // Diff!
            //

            Dispatcher.Invoke(new Action(() =>
                {
                    _mainWindow.TaskbarItemInfo.ProgressState = TaskbarItemProgressState.Normal;
                    Progress.IsIndeterminate = false;
                    ProgressText.Text = "Inspecting Files...";
                }
            ));

            DateTime lastUpdate = DateTime.Now;
            _changeSet = _foo.Inspect(bestStateColl, _trees, new Progress((current, total, name) =>
                {
                    if ((DateTime.Now - lastUpdate).Milliseconds > ProgressUpdateRateMsecs)
                    {
                        lastUpdate = DateTime.Now;
                        Dispatcher.Invoke(new Action(() =>
                            {
                                Progress.Maximum = total;
                                Progress.Value = current;
                                DetailText1.Text = string.Format("{0:##0.00}%", (double)current / total * 100);
                                DetailText2.Text = name;
                                _mainWindow.TaskbarItemInfo.ProgressValue = (double)current / total;
                            }
                        ));
                    }
                }
            ));

            _changeSet.SetDefaultActions(_trees);

            //
            // Convert the changeset into data structures for display.
            //

            DictionaryItemPickerConverter converter = new DictionaryItemPickerConverter();

            IEnumerable<string> fileOperations = EnumMethods.GetEnumDescriptions(typeof(FileOperation));

            //foreach (KeyValuePair<Guid, FooTree> pair in trees)
            IEnumerator<KeyValuePair<Guid, FooTree>> treeEnum = _trees.GetEnumerator();
            for (int i = 0; treeEnum.MoveNext(); i++)
            {
                FooSyncUrl url = treeEnum.Current.Value.Base;
                Guid repoId = treeEnum.Current.Key;

                Dispatcher.Invoke(new Action(() =>
                    {
                        ((GridView)DiffGrid.View).Columns.Add(new GridViewColumn()
                            {
                                Header = string.Format("  {0}  ", url.IsLocal ? url.LocalPath : url.ToString()),
                                DisplayMemberBinding = new Binding()
                                    {
                                        Converter = converter,
                                        ConverterParameter = repoId,
                                        Path = new PropertyPath("CombinedStatus"),
                                    },
                            });

                        ActionsPanel.ColumnDefinitions.Add(new ColumnDefinition() { Width = GridLength.Auto });

                        Label header = new Label();
                        header.Content = string.Format("  {0}  ", url.IsLocal ? url.LocalPath : url.ToString());
                        ActionsPanel.Children.Add(header);
                        Grid.SetRow(header, 0);
                        Grid.SetColumn(header, i + 1);

                        ComboBox actionBox = new ComboBox();
                        actionBox.ItemsSource = fileOperations;
                        actionBox.SelectionChanged += new SelectionChangedEventHandler(actionBox_SelectionChanged);
                        _updatingActionBox.Add(repoId, false);
                        actionBox.Tag = repoId;
                        ActionsPanel.Children.Add(actionBox);
                        Grid.SetRow(actionBox, 1);
                        Grid.SetColumn(actionBox, i + 1);
                        _actionBoxes.Add(repoId, actionBox);
                    }
                ));
            }

            _diffData = new RepositoryDiffData();
            foreach (string filename in _changeSet)
            {
                RepositoryDiffDataItem item = new RepositoryDiffDataItem();
                item.Filename = filename;
                if (_changeSet[filename].ConflictStatus != ConflictStatus.NoConflict)
                {
                    item.State = RepositoryDiffDataItem.ConflictState;
                }
                else
                {
                    FooChangeSetElem changeElem = _changeSet[filename];

                    if (changeElem.ChangeStatus.Any(e => e.Value == ChangeStatus.New))
                    {
                        item.State = RepositoryDiffDataItem.AddedState;
                    }
                    else if (changeElem.ChangeStatus.Any(e => e.Value == ChangeStatus.Deleted))
                    {
                        item.State = RepositoryDiffDataItem.DeletedState;
                    }
                    else if (changeElem.ChangeStatus.Any(e => e.Value == ChangeStatus.Changed))
                    {
                        item.State = RepositoryDiffDataItem.ChangedState;
                    }
                }

                foreach (Guid repoId in _changeSet.RepositoryIDs)
                {
                    item.ChangeStatus.Add(repoId, _changeSet[filename].ChangeStatus[repoId]);
                    item.FileOperation.Add(repoId, _changeSet[filename].FileOperation[repoId]);
                }

                _diffData.Add(item);
            }

            //
            // Display
            //

            Dispatcher.Invoke(new Action(() =>
                {
                    _mainWindow.TaskbarItemInfo.ProgressState = TaskbarItemProgressState.None;
                    ProgressView.Visibility = Visibility.Collapsed;
                    DiffGrid.ItemsSource = _diffData;
                    DiffGrid.Visibility = Visibility.Visible;
                    ActionsPanel.Visibility = Visibility.Visible;
                }
            ));
        }
Пример #56
0
        void MoreBoxClientFormLoad(object sender, EventArgs e)
        {
            Config settings=new Config();
            //initialisation du serial port
            serialPort = new SerialPort { BaudRate = settings.BaudRate,
                DataWidth = settings.DataWidth,
                StopBits = settings.StopBits,
                ParityBits = settings.ParityBits,
                Port = settings.Port,
                Delay = 300 };

            serialPort.Received += serialPort_Received;
            serialPort.Connected += serialPort_Connected;
            messages=new StringBuilder();

            //initialisation du client
            client = new NetClient();
            client.OnDisconnected += client_OnDisconnected;
            client.OnReceived += client_OnReceived;
            client.OnConnected += client_OnConnected;
        }
Пример #57
0
    // Use this for initialization
    void Start()
    {
        Debug.Log("Starting Network Manager");
        button = new Rect(Screen.width - 130, Screen.height -50, 120, 40);
        //Debug.Log(CryptoHelper.GetMd5String("Hello World!"));

        gm = GameManager.GetInstance();
        newname = username = gm.username;
        hostIp = gm.ipAddress;

        console = new List<string>();
        lobby = new List<string>();

        Players = new List<PlayerObject>();

        if (!gm.isSoloPlay)
        {
            NetPeerConfiguration config = new NetPeerConfiguration("crab_battle");

            client = new NetClient(config);

            NetOutgoingMessage outmsg = new NetOutgoingMessage();

            client.Start();
            outmsg.Write("A Client");
            client.Connect(hostIp, gm.gamePort, outmsg);

            AddConsoleMessage("Waiting for connection to server...");
        }
        else
        {
            isConnected = true; // In solo mode, we're always connected!
            //username = PlayerPrefs.GetString("Username", "Player");
            //newname = username;
            gm.isReady = true;
            ClientId = 1;
        }

        windowrect = new Rect(Screen.width / 2f - 100f, Screen.height / 2f - 150f, 200f, 310f);
        lobbyrect = new Rect(Screen.width / 2f - 200f, Screen.height - 100f, 400f, 100f);

        Enemy = GameObject.Instantiate(Resources.Load("battlecrab"), Vector3.zero, Quaternion.identity) as GameObject;
        Enemy.animation.Play("laying");

        EnemyManager = Enemy.GetComponent<CrabManager>();
        lastSec=Time.time;
    }
Пример #58
0
        static void testNetClient()
        {
            NetServer server = new NetServer(9556);
            server.ClientConnected.Subscribe(tracked =>
            {
                Console.WriteLine("[SERVER]: Client connected.");
                tracked.Value.MessageRecieved.Subscribe(
                    next_msg => Console.WriteLine("[SERVER]: Client Message: " + Encoding.UTF8.GetString(next_msg.Message)),
                    next_err => Console.WriteLine("[SERVER]: Client Read Error: " + next_err.Message),
                    () => Console.WriteLine("[SERVER]: Client Disconnected."));

                var sClient = tracked.Observe();
                sClient.Write(Encoding.UTF8.GetBytes("Hello, new client!"));
            });
            server.Start();

            NetClient client = new NetClient("localhost", 9556);
            client.MessageRecieved.Subscribe(
                next_msg => Console.WriteLine("[CLIENT]: Server Message: " + Encoding.UTF8.GetString(next_msg.Message)),
                next_err => Console.WriteLine("[CLIENT]: Server Read Error: " + next_err.Message),
                () => Console.WriteLine("[CLIENT]: Server Disconnected."));
            client.Connect();
            Console.WriteLine("[CLIENT]: Connected.");

            client.Write(Encoding.UTF8.GetBytes("Hello back!!!"));

            Console.ReadLine();
        }
Пример #59
0
 public NetDebugComponent(Game game, ref NetClient client)
     : base(game)
 {
     this.client = client;
     this.position = new Vector2(5, 5);
 }
Пример #60
0
        private void Submit(object sender, RoutedEventArgs e)
        {
            _url = null;
            try
            {
                _url = new FooSyncUrl("fs://" + ServerNameEntry.Text);
            }
            catch (FormatException)
            {
                ErrorText.Text = "Invalid hostname.";
                ErrorText.Visibility = System.Windows.Visibility.Visible;
                return;
            }

            string username = (UsernameAndPassword.IsChecked ?? false) ? UsernameEntry.Text : null;
            string password = (UsernameAndPassword.IsChecked ?? false) ? PasswordEntry.Password : null;
            var client = new NetClient(MainWindow.Foo, _url.Host, _url.Port, username, password);

            using (var connectionWorker = new BackgroundWorker())
            {
                connectionWorker.DoWork += new DoWorkEventHandler(connectionWorker_DoWork);
                connectionWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(connectionWorker_RunWorkerCompleted);
                connectionWorker.RunWorkerAsync(client);
            }
        }