// Update is called once per frame void Update() { if (_threadOnOpen) { OnOpen.Invoke(); _threadOnOpen = false; } if (_threadOnOpenFailed) { ErrorClose(); OnOpenFailed.Invoke(); _threadOnOpenFailed = false; } if (_threadOnErrorClosed) { ErrorClose(); OnErrorClosed.Invoke(); _threadOnErrorClosed = false; } if (_threadOnStartSearch) { OnStartSearch.Invoke(); _threadOnStartSearch = false; } if (_threadOnStopSearch) { OnStopSearch.Invoke(); _threadOnStopSearch = false; } if (_threadOnFoundDevice) { OnFoundDevice.Invoke(new CommDevice(foundDevices[foundDevices.Count - 1])); _threadOnFoundDevice = false; } if (_threadOnChangedDevice) { OnChangedDevice.Invoke(new CommDevice(device)); _threadOnChangedDevice = false; } if (_threadOnWriteCompleted) { OnWriteCompleted.Invoke(); _threadOnWriteCompleted = false; } if (_searchTimeout > 0f) { _searchTimeout -= Time.deltaTime; if (_searchTimeout <= 0f) { StopSearch(); } } }
void Update() { if (_threadOnOpen) { OnOpen.Invoke(); _threadOnOpen = false; } if (_threadOnOpenFailed) { OnOpenFailed.Invoke(); _threadOnOpenFailed = false; } }
public override void Open() { server = toggle.isOn; if (server) { if (_server != null) { return; } try { _server = new TcpListener(IPAddress.Any, port); _server.Start(); _server.BeginAcceptTcpClient(new AsyncCallback(AcceptTcpClientCallback), _server); // Debug.LogError("Server Open"); OnOpen.Invoke(); } catch (Exception e) { // Debug.LogError("Server Open Failed"); // Debug.LogError(e); _server.Stop(); _server = null; OnOpenFailed.Invoke(); } } else { if (_client != null) { return; } try { _client = new TcpClient(); // Debug.LogError("Client Begin Connect"); _client.BeginConnect(IPAddress.Parse(ipAddress), port, new AsyncCallback(ConnectCallback), _client); } catch (Exception e) { // Debug.LogError("Client Begin Connect Failed"); // Debug.LogError(e); _client.Close(); _client = null; OnOpenFailed.Invoke(); } } }
private void ConnectCallback(IAsyncResult result) { try { _client.EndConnect(result); _client.GetStream().BeginRead(_buffer, 0, _buffer.Length, new AsyncCallback(ReadCallback), _buffer); // Debug.LogError("Client Open"); OnOpen.Invoke(); } catch (Exception e) { // Debug.LogError("ConnectCallback Error"); // Debug.LogError(e); _client.Close(); _client = null; OnOpenFailed.Invoke(); } }
void Update() { if (_threadOnOpenFailed) { OnOpenFailed.Invoke(); _threadOnOpenFailed = false; } if (_searchTimeout > 0f) { _searchTimeout -= Time.deltaTime; if (_searchTimeout <= 0f) { #if UNITY_ANDROID if (_android != null) { _android.Call("StopSearch"); } #endif OnStopSearch.Invoke(); } } }
private void AndroidMessageOpenFailed(string message) { Debug.Log(message); OnOpenFailed.Invoke(); }