static void StartClient(IAsyncClient client) { try { client.Connect("127.0.0.1", 30000); while (true) { Console.Write(">"); string cmd = Console.ReadLine(); if (cmd == "") { break; } // Convert command to message string msg = "CHAT " + cmd; client.Send(msg); } client.Disconnect(); } catch (Exception) { Console.ReadLine(); } }
public void TestFixtureSetUp() { var hostConfiguration = new HostConfiguration {UrlReservations = new UrlReservations {CreateAutomatically = true}}; var baseAddress = new Uri("http://127.0.0.1:1337/"); host = new NancyHost(hostConfiguration, baseAddress); host.Start(); AsyncClient = new AsyncClient(baseAddress); }
public ClientViewModelServices(IAsyncClient <Client> cnt, IAsyncClient <ClientAddress> ant, IMapper mpr, IClientService csv) { _clientRepositoryAsync = cnt; _addressRepositoryAsync = ant; _mapper = mpr; _clientService = csv; }
void ReciveCallBack(IAsyncResult ar) { IAsyncClient obj = (IAsyncClient)ar.AsyncState; Socket handler = obj.sck; Debug.Log("Receive Message"); int bytesRead = handler.EndReceive(ar); obj.recvbyte += bytesRead; if (obj.recvbyte > 0 || bytesRead > 0) { if (true == obj.signalread) { obj.recv_signal = obj.recvbuf[0]; Buffer.BlockCopy(obj.recvbuf, 1, obj.recvbuf, 0, obj.recvbyte - 1); if (obj.recv_signal == NetworkController.SC_SELECT) { select_scene = true; obj.recvbyte -= 1; obj.signalread = true; } else { obj.recvbyte -= 1; obj.signalread = false; } Debug.Log(Convert.ToString(obj.recvbuf[0]) + " / " + Convert.ToString(obj.recv_signal)); Debug.Log(obj.signalread); } else { if (obj.recv_signal == NetworkController.SC_CHARACTERINFOSET && obj.recvbyte >= 404) { Buffer.BlockCopy(obj.recvbuf, 0, obj.cbuf, 0, 404); object recvobj = NetFunc.ByteToObj(obj.cbuf); Buffer.BlockCopy(obj.recvbuf, 404, obj.recvbuf, 0, obj.recvbyte - 404); obj.recvbyte -= 404; //캐릭터 인포 셋 수신 scinf = (SC_CHARACTERINFOSET_PACKET)recvobj; recv_charinfo = true; //Debug.Log("type : " + Convert.ToString(res.characterinfo[].ch_type) + " / vit : " + Convert.ToString(res.ch_vit)); obj.recv_signal = NetworkController.S_NULL; obj.signalread = true; } } } obj.sck.BeginReceive(obj.recvbuf, obj.recvbyte, NetworkController.MAXBUFFERSIZE - obj.recvbyte, 0, new AsyncCallback(ReciveCallBack), obj); }
public ClientService(IAsyncClient <Client> cnta, IClient <Client> cnt, IAsyncClient <ClientAddress> ant, IAsyncClient <ClientAddressLevel> cdl, IClient <ClientAddress> cds, IClient <ClientAddressLevel> cal ) { _clientRepositoryAsync = cnta; _clientRepository = cnt; _addressRepositoryAsync = ant; _addressTypeRepositoryAsync = cdl; _addressRepository = cds; _addressTypeRepository = cal; }
public ConnectionSettingsViewModel() { _pageService = new PageService(); asyncSocketListener = AsyncSocketListener.Instance; asyncClient = AsyncClient.Instance; if (asyncClient.IsConnected() == true) { Settings.ClientIsConnected = true; } else { Settings.ClientIsConnected = false; } ServerIsRunning = Settings.ServerIsRunning; IsConnectToServer = Settings.ClientIsConnected; ServerPort = Settings.ServerPort; ClientConnectedCount = Settings.ServerClientConnectedQty; StartServerCommand = new Command(() => StartServer()); StopServerCommand = new Command(() => StopServer()); ConnectToServerCommand = new Command(() => ConnectToServer()); StartPresentationForCLientCommand = new Command(async() => await StartPresentationForCLient()); DisconnectWithServerCommand = new Command(() => DisconnectWithServer()); IPServerAdress = Dns.GetHostEntry(Dns.GetHostName()).AddressList[0].ToString(); MessagingCenter.Subscribe <AsyncSocketListener, Boolean> (this, Events.SendPlaylist, OnServerIsRunning); MessagingCenter.Subscribe <AsyncSocketListener, int> (this, Events.ClientConnected, OnClientConnected); MessagingCenter.Subscribe <AsyncSocketListener, int> (this, Events.ClientDisconnected, OnClientDisconnected); MessagingCenter.Subscribe <AsyncClient, Boolean> (this, Events.ConnectToServer, OnConnectToServer); }
public SongTextPresentationViewModel() { songRepository = new SongRepository(DependencyService.Get <ISQLiteDb>()); MessagingCenter.Subscribe <PlaylistDetailViewModel, PlaylistViewModel> (this, Events.SendPlaylistToPresentation, OnPlaylistSended); MessagingCenter.Subscribe <ConnectionSettingsViewModel, Boolean> (this, Events.ConnectToServer, OnConnectToServer); MessagingCenter.Subscribe <AsyncClient, string> (this, Events.SendedText, OnTextRecive); MessagingCenter.Subscribe <SongListViewModel, SongViewModel> (this, Events.SendSongToPresentation, OnSongSended); asyncSocketListener = AsyncSocketListener.Instance; asyncClient = AsyncClient.Instance; FontSize = Double.Parse(Settings.FontSize); ShowChords = Settings.ShowChords; }
public GetDeviceStatus(IControllerIdentificationService controllerIdentificationService, IAsyncClient asyncClient) : base(controllerIdentificationService, asyncClient) { }
private int ConnectToPC() { //소켓 설정 sck = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Parse(ip), 8080); //Connect try { sck.Connect(localEndPoint); } catch { Debug.Log("Unable to connect to remote end point!\r\n"); return(0); } Debug.Log("Perfect!!"); //Buffer = new byte[NetworkController.MAXBUFFERSIZE];//sck.socketbuffersize 에서 변경 //시그널 수신 //char s; NetFunc.net_recv_signal(sck); //플레이어 정보 수신 SC_CONNECT_PACKET SCpack = new SC_CONNECT_PACKET(); object obj; obj = NetFunc.net_recv(sck, NetworkController.SC_CONNECT); if (obj == null) { return(0); //error } SCpack = (SC_CONNECT_PACKET)obj; // Debug.Log((int)SCpack.id + " " + SCpack.color); My_Info = SCpack; //시그널 전송 NetFunc.net_send_signal(NetworkController.CS_CONNECT, sck); //닉네임 전송 CS_CONNECT_PACKET CSpacket = new CS_CONNECT_PACKET(); CSpacket.nickname = name; CSpacket.id = SCpack.id; buffer = NetFunc.ObjToByte(CSpacket); NetFunc.net_send(CSpacket, sck, NetworkController.CS_CONNECT); //비동기 시작 IAsyncClient sync_obj = new IAsyncClient(); sync_obj.sck = sck; buffer = new byte[NetworkController.MAXBUFFERSIZE]; sck.BeginReceive(sync_obj.recvbuf, 0, NetworkController.MAXBUFFERSIZE, 0, new AsyncCallback(ReciveCallBack), sync_obj); return(1); }
public GetRealTimeClock(IControllerIdentificationService controllerIdentificationService, IAsyncClient asyncClient) : base(controllerIdentificationService, asyncClient) { }
public ArenaClientForm() { InitializeComponent(); MyIniParser = new IniParser(); string strWidth = MyIniParser.GetSetting(IniConstants.SECTION_SETTINGS, IniConstants.CLIENT_WINDOW_WIDTH, 800); string strHeight = MyIniParser.GetSetting(IniConstants.SECTION_SETTINGS, IniConstants.CLIENT_WINDOW_HEIGHT, 500); int width, height; if (int.TryParse(strWidth, out width)) this.Width = width; if (int.TryParse(strHeight, out height)) this.Height = height; LoginUserNameTextBox.Text = MyIniParser.GetSetting(IniConstants.SECTION_SETTINGS, IniConstants.CLIENT_LOGIN_NAME, string.Empty); //ServerAddressComboBox.Text = MyIniParser.GetSetting(IniConstants.SECTION_SETTINGS, IniConstants.CLIENT_SERVER_ADDRESS, "127.0.0.1:30000"); string[] serverList = MyIniParser.GetSetting(IniConstants.SECTION_SETTINGS, IniConstants.CLIENT_SERVER_LIST, string.Empty).Split(','); foreach (string s in serverList) { if (s != string.Empty) { ServerAddressComboBox.Items.Add(s); ServerListCount++; } } if (ServerListCount > 0) { ServerAddressComboBox.SelectedIndex = 0; ServerAddressComboBox.Text = (string)ServerAddressComboBox.SelectedItem; } else { ServerAddressComboBox.Text = string.Empty; } ServerAddressComboBox.Items.Add("----------履歴----------"); serverList = MyIniParser.GetSetting(IniConstants.SECTION_SETTINGS, IniConstants.CLIENT_SERVER_HISTORY, string.Empty).Split(','); foreach (string s in serverList) { if (s != string.Empty) { if (ServerHistory.Count >= MaxServerHistory) break; ServerAddressComboBox.Items.Add(s); ServerHistory.Add(s); } } ServerHistory.Reverse(); GoTo(OperationMode.Offline); ArenaSessionClient = new AsyncTcpClient(new SessionHandler(this)); ArenaTunnelClient = new AsyncUdpClient(new TunnelHandler(this)); //UdpPortTextBox_TextChanged(null, null); ResetServerStatusBar(); RefreshLanAdapterList(); AppendToChatTextBoxDelegate = delegate(string message, Color color, CheckBox notDisplay) { if (notDisplay != null && notDisplay.Checked) return; try { ChatLogTextBox.AppendText(message); ChatLogTextBox.AppendText(Environment.NewLine); //ChatLogTextBox.ScrollToCaret(); } catch (Exception ex) { logTextBox.AppendText(message); logTextBox.AppendText(ex.ToString()); } }; string software = String.Format("{0} アリーナクライアント バージョン: {1}", ApplicationConstants.APP_NAME, ApplicationConstants.VERSION); AppendToChatTextBoxDelegate(software, Color.DarkGreen, null); AppendToChatTextBoxDelegate("プロトコル: " + Protocol1Constants.PROTOCOL_NUMBER, Color.DarkGreen, null); ThreadPool.QueueUserWorkItem(new WaitCallback(PendingLogPollingLoop)); }
public GetUserData(IControllerIdentificationService controllerIdentificationService, IAsyncClient asyncClient) : base(controllerIdentificationService, asyncClient) { }
protected Base(IControllerIdentificationService controllerIdentificationService, IAsyncClient asyncClient) { _controllerAddress = controllerIdentificationService.GetControllerAddress().GetAwaiter().GetResult(); _asyncClient = asyncClient; }
public void AcceptCallback(IAsyncResult ar) { Socket listener = (Socket)ar.AsyncState; Socket handler = listener.EndAccept(ar); // 받는 방식의 변화 재접속... int id = 0; for (int i = 0; i < 4; ++i) { if (false == connected[i]) { id = i; break; } } if (client_sock.Count >= NetworkController.MAX_CONNECT) { handler.Disconnect(false); } client_sock.Add(handler); if (false == isgamescene) { CC.connected(id); } else { GS.reconnected(id); } NC.net_send_signal(NetworkController.SC_CONNECT, handler); SC_CONNECT_PACKET packet = new SC_CONNECT_PACKET(); packet.id = (char)id; switch (id) { case 0: packet.color = 'b'; break; case 1: packet.color = 'y'; break; case 2: packet.color = 'r'; break; case 3: packet.color = 'g'; break; default: //error break; } Debug.Log("Player Color : " + packet.color); NC.net_send(packet, handler, NetworkController.SC_CONNECT); connected[id] = true; IAsyncClient iaclient = new IAsyncClient(); iaclient.s = handler; iaclient.id = id; iaclient.recvbyte = 0; clients.Add(iaclient); handler.BeginReceive(iaclient.recvbuf, 0, NetworkController.MAXBUFFERSIZE, 0, new AsyncCallback(DataReceive), iaclient); sck.BeginAccept(new AsyncCallback(AcceptCallback), listener); s_arr[id] = handler;//5.15 홍승준 추가 }
//5.15 끝 //받은 데이터 체크 꼭 할것!!!! public void DataReceive(IAsyncResult ar) { IAsyncClient obj = (IAsyncClient)ar.AsyncState; Socket handler = obj.s; int bytesRead = handler.EndReceive(ar); obj.recvbyte += bytesRead; //길이 맞는지 확인해보고 if (obj.recvbyte > 0 || bytesRead > 0) { Debug.Log("DataRecived"); if (true == obj.signalread) { //5.14 홍승준 수정 obj.recv_signal = obj.recvbuf[0]; Buffer.BlockCopy(obj.recvbuf, 1, obj.recvbuf, 0, obj.recvbyte - 1); switch (obj.recv_signal) { case NetworkController.CS_REQCHR: //캐릭터 정보 요청 신호 일 때 Debug.Log("Requset signal"); SC_CHARACTERINFOSET_PACKET chset = new SC_CHARACTERINFOSET_PACKET(); chset.characterinfo = new SC_CHARACTERINFO_PACKET[4]; int i = 0; for (i = 0; i < 4; i++) { if (connected[i]) { chset.characterinfo[i] = GS.PC[i].CharacterInfo(); chset.characterinfo[i].id = (byte)i; } else { chset.characterinfo[i].id = 125; } } NC.net_send_signal(NetworkController.SC_CHARACTERINFOSET, obj.s); NC.net_send(chset, obj.s, NetworkController.SC_CHARACTERINFOSET); Debug.Log("Ch_info_set_packet : " + NC.ObjToByte(chset).Length); //다시 시그널 리시브 하도록 초기화 obj.recvbyte -= 1; obj.signalread = true; break; default: obj.recvbyte -= 1; obj.signalread = false; break; } } //5.14 홍승준 수정 끝 if (false == obj.signalread) { if (obj.recv_signal == NetworkController.CS_DISCONNECT) { client_sock.Remove(obj.s); obj.s.Disconnect(false); if (false == isgamescene) { CC.disconnected(obj.id); } else { GS.disconnected(obj.id); } return; } else if (obj.recv_signal == NetworkController.CS_CONNECT && obj.recvbyte >= 116) { Buffer.BlockCopy(obj.recvbuf, 0, obj.cbuf, 0, 116); object recvobj = NC.ByteToObj(obj.cbuf); Buffer.BlockCopy(obj.recvbuf, 116, obj.recvbuf, 0, obj.recvbyte - 116); obj.recvbyte -= 116; CS_CONNECT_PACKET res = (CS_CONNECT_PACKET)recvobj; CC.nickname[res.id] = res.nickname; obj.recv_signal = NetworkController.S_NULL; obj.signalread = true; } else if (obj.recv_signal == NetworkController.CS_MOVE && obj.recvbyte >= 89) { Buffer.BlockCopy(obj.recvbuf, 0, obj.cbuf, 0, 89); object recvobj = NC.ByteToObj(obj.cbuf); Buffer.BlockCopy(obj.recvbuf, 89, obj.recvbuf, 0, obj.recvbyte - 89); obj.recvbyte -= 89; CS_MOVE_PACKET res = (CS_MOVE_PACKET)recvobj; if (false == isgamescene) { CC.move(res.x, res.y, res.id); } else { GS.move(res.x, res.y, res.id); } obj.recv_signal = NetworkController.S_NULL; obj.signalread = true; } else if (obj.recv_signal == NetworkController.CS_BTN && obj.recvbyte >= 89) { Buffer.BlockCopy(obj.recvbuf, 0, obj.cbuf, 0, 89); object recvobj = NC.ByteToObj(obj.cbuf); Buffer.BlockCopy(obj.recvbuf, 89, obj.recvbuf, 0, obj.recvbyte - 89); obj.recvbyte -= 89; CS_BUTTON_PACKET res = (CS_BUTTON_PACKET)recvobj; if (false == isgamescene) { CC.click(res.id, res.btn_number); } else { GS.click(res.id, res.btn_number); } obj.recv_signal = NetworkController.S_NULL; obj.signalread = true; }//5.15 홍승준 추가//5.18 홍승준 수정 else if (obj.recv_signal == NetworkController.CS_SKILL && obj.recvbyte >= 104) { Buffer.BlockCopy(obj.recvbuf, 0, obj.cbuf, 0, 104); object recvobj = NC.ByteToObj(obj.cbuf); Buffer.BlockCopy(obj.recvbuf, 104, obj.recvbuf, 0, obj.recvbyte - 104); obj.recvbyte -= 104; CS_SKILLSET_PACKET sc = (CS_SKILLSET_PACKET)recvobj; sm.MakeCharacter(0, sc.id, sc); obj.recv_signal = NetworkController.S_NULL; obj.signalread = true; /* * Debug.Log("id : "+ Convert.ToString(sc.sk_id)); * Debug.Log(" 1 : "+(short)sc.sk_id[0]); * Debug.Log(" 2 : " + (short)sc.sk_id[1]); * Debug.Log(" 3 : " + (short)sc.sk_id[2]); * Debug.Log(" 4 : " + (short)sc.sk_id[3]);*/ }//여기까지 else if (obj.recv_signal == NetworkController.CS_UPGRADE && obj.recvbyte >= 85) { Debug.Log("UPGRADE RECEIVE"); Buffer.BlockCopy(obj.recvbuf, 0, obj.cbuf, 0, 85); object recvobj = NC.ByteToObj(obj.cbuf); Buffer.BlockCopy(obj.recvbuf, 85, obj.recvbuf, 0, obj.recvbyte - 85); obj.recvbyte -= 85; Ms.Upgrade_reciev(recvobj); obj.recv_signal = NetworkController.S_NULL; obj.signalread = true; } } } handler.BeginReceive(obj.recvbuf, obj.recvbyte, NetworkController.MAXBUFFERSIZE - obj.recvbyte, 0, new AsyncCallback(DataReceive), obj); }
static void StartClient(IAsyncClient client) { try { client.Connect("127.0.0.1", 30000); while (true) { Console.Write(">"); string cmd = Console.ReadLine(); if (cmd == "") break; // Convert command to message string msg = "CHAT " + cmd; client.Send(msg); } client.Disconnect(); } catch (Exception) { Console.ReadLine(); } }