public void StartClient() { // Connect to a remote device. try { // Establish the remote endpoint for the socket. // The name of the // remote device is "host.contoso.com". IPEndPoint remoteEP = new IPEndPoint(iPAddress, port); //// Create a TCP/IP socket. client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); // Connect to the remote endpoint. client.BeginConnect(remoteEP, new AsyncCallback(ConnectCallback), client); connectDone.WaitOne(); // Send test data to the remote device. publicPostData clientPostData = new publicPostData(); clientPostData.packet_Type = (int)ClientPacketType.LoadBLEList; clientPostData.data = 0; Send(client, Packet.Serialize(clientPostData)); sendDone.WaitOne(); // Receive the response from the remote device. Receive(client); //receiveDone.WaitOne(); // Write the response to the console. Console.WriteLine("Response received : {0}", response); } catch (Exception e) { Console.WriteLine(e.ToString()); } }
private void ProcessPacket(int packet_Type, byte[] buffer) { switch (packet_Type) { case (int)ClientPacketType.LoadBLEList: { Console.WriteLine("LoadBLEList"); while (true) { if (comboBox1.Items.Count != 0) { break; } BLEList(); } ServerBLEList serverPostData = new ServerBLEList(); serverPostData.BLEList = new List <string>(); foreach (var data in comboBox1.Items) { serverPostData.BLEList.Add(data.ToString()); } serverPostData.packet_Type = (int)ServerPacketType.BLEList; AsynchronousSocketServer.Send(asyncServer.getSocket(), Packet.Serialize(serverPostData)); } break; case (int)ClientPacketType.ConnectBLE: { Console.WriteLine("ConnectBLE"); publicPostData receiveclass = (publicPostData)Packet.Deserialize(buffer); comboBox1.SelectedIndex = receiveclass.data; ConnectBLE(); } break; case (int)ClientPacketType.AuthBLE: { Console.WriteLine("AuthBLE"); AuthBLE(); } break; case (int)ClientPacketType.StartBLE: { Console.WriteLine("StartBLE"); StartBPM(); } break; case (int)ClientPacketType.StopBLE: { Console.WriteLine("StopBLE"); StopBPM(); } break; case (int)ClientPacketType.SendPacket: { Console.WriteLine("SendPacket"); // 딱히 쓸일 없을 듯 지금은..! publicPostData receiveclass = (publicPostData)Packet.Deserialize(buffer); } break; } }
// delegate 처리 함수 void ConnectChange(bool v) { if (InvokeRequired) { ConnectBLEDevice c = new ConnectBLEDevice(ConnectChange); Invoke(c, new object[] { v }); } else { if (v == true) { // 연결에 성공 했을시 button3.Enabled = true; publicPostData serverPostData = new publicPostData(); serverPostData.data = (int)ServerStatus.BLEConnectComplete; serverPostData.packet_Type = (int)ServerPacketType.SendPacket; AsynchronousSocketServer.Send(asyncServer.getSocket(), Packet.Serialize(serverPostData)); } else { // 연결에 실패 했을시 button2.Enabled = true; } } }
public void buttonClick() { //dropdown.te Debug.Log(":dd"); if (dropdownText.text == "연결하기") { Debug.Log(dropdown.options[dropdown.value].text + "( " + dropdown.value + ")"); publicPostData clientPostData = new publicPostData(); clientPostData.packet_Type = (int)ClientPacketType.ConnectBLE; clientPostData.data = dropdown.value; NetworkManager.Send(NetworkManager.GetSocket(), Packet.Serialize(clientPostData)); dropdownText.text = "일시정지"; } else if (dropdownText.text == "일시정지") { publicPostData clientPostData = new publicPostData(); clientPostData.packet_Type = (int)ClientPacketType.StopBLE; clientPostData.data = 0; NetworkManager.Send(NetworkManager.GetSocket(), Packet.Serialize(clientPostData)); dropdownText.text = "다시시작"; } else if (dropdownText.text == "다시시작") { publicPostData clientPostData = new publicPostData(); clientPostData.packet_Type = (int)ClientPacketType.StartBLE; clientPostData.data = 0; NetworkManager.Send(NetworkManager.GetSocket(), Packet.Serialize(clientPostData)); dropdownText.text = "일시정지"; } }
private static void ProcessPacket(int packet_Type, byte[] buffer) { switch (packet_Type) { case (int)ServerPacketType.BLEList: { Debug.Log("BLEList : "); ServerBLEList receiveclass = (ServerBLEList)Packet.Deserialize(buffer); foreach (var data in receiveclass.BLEList) { _bleList.Add(data); Debug.Log(data.ToString()); } } break; case (int)ServerPacketType.BPMData: { Debug.Log("BPMData : "); ServerBPMData receiveclass = (ServerBPMData)Packet.Deserialize(buffer); _nowBPM = receiveclass.nowBPM.ToString(); } break; case (int)ServerPacketType.SendPacket: { Debug.Log("SendPacket : "); publicPostData receiveclass = (publicPostData)Packet.Deserialize(buffer); if (receiveclass.data == (int)ServerStatus.BLEConnectComplete) { // BLE 연결에 성공 했을 경우 publicPostData clientPostData = new publicPostData(); clientPostData.packet_Type = (int)ClientPacketType.AuthBLE; clientPostData.data = 0; Send(client, Packet.Serialize(clientPostData)); } else if (receiveclass.data == (int)ServerStatus.BLEAuthComplete) { // Auth 성공 했을 경우 publicPostData clientPostData = new publicPostData(); clientPostData.packet_Type = (int)ClientPacketType.StartBLE; clientPostData.data = 0; Send(client, Packet.Serialize(clientPostData)); } } break; } }
// delegate 처리 함수 void OnAuth(MiBand d, bool s) { if (InvokeRequired) { OnAuthHandler c = new OnAuthHandler(OnAuth); Invoke(c, new object[] { d, s }); } else { if (s) { // 연결에 성공 했을시 button4.Enabled = true; publicPostData serverPostData = new publicPostData(); serverPostData.data = (int)ServerStatus.BLEAuthComplete; serverPostData.packet_Type = (int)ServerPacketType.SendPacket; AsynchronousSocketServer.Send(asyncServer.getSocket(), Packet.Serialize(serverPostData)); } else { MessageBox.Show("Auth failed !", "Device error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }