public void Close() { if (_socket != null) { _socket.Close(); } }
protected override void CloseNative() { if (socket != null) { socket.Close(); socket = null; } }
protected override void OnHandleIntent(Intent intent) { var context = ApplicationContext; if (intent.Action.Equals(ActionSendFile)) { var fileUri = intent.GetStringExtra(ExtrasFilePath); var host = intent.GetStringExtra(ExtrasGroupOwnerAddress); var port = intent.GetIntExtra(ExtrasGroupOwnerPort, 8988); var socket = new Socket(); try { Log.Debug(WiFiDirectActivity.Tag, "Opening client socket - "); socket.Bind(null); socket.Connect(new InetSocketAddress(host, port), SocketTimeout); Log.Debug(WiFiDirectActivity.Tag, "Client socket - " + socket.IsConnected); var stream = socket.OutputStream; var cr = context.ContentResolver; Stream inputStream = null; try { inputStream = cr.OpenInputStream(Android.Net.Uri.Parse(fileUri)); } catch (FileNotFoundException e) { Log.Debug(WiFiDirectActivity.Tag, e.ToString()); } DeviceDetailFragment.CopyFile(inputStream, stream); Log.Debug(WiFiDirectActivity.Tag, "Client: Data written"); } catch (IOException e) { Log.Debug(WiFiDirectActivity.Tag, e.Message); } finally { if (socket != null) { if (socket.IsConnected) { try { socket.Close(); } catch (IOException e) { // Give up Log.Debug(WiFiDirectActivity.Tag, "Gave up on closing socket " + e.StackTrace); } } } } } }
public static bool isOnline() { try { int timeoutMs = 3000; Socket sock = new Socket(); Java.Net.SocketAddress sockaddr = new InetSocketAddress("8.8.8.8", 53); sock.Connect(sockaddr, timeoutMs); sock.Close(); return(true); } catch { return(false); } }
public void Close() { _socket.Close(); }
public async Task <string> ClientConnect() { Java.Net.Socket connection = null; BufferedReader reader = null; try { // サーバーへ接続 connection = await Task.Run(() => new Java.Net.Socket("pop.mail.yahoo.co.jp", 110)); // メッセージ取得オブジェクトのインスタンス化 reader = new BufferedReader(new InputStreamReader(connection.InputStream)); // サーバーからのメッセージを受信 message = await Task.Run(() => reader.ReadLine()); // 接続確認 if (message == "") { //tv.SetText("サーバーとの接続に失敗しました:" + message, TextView.BufferType.Spannable); //Toast.MakeText(this, "サーバーとの接続に失敗しました。", ToastLength.Long).Show(); return("サーバーとの接続に失敗しました。"); } else { //tv.SetText("サーバーからのメッセージ:" + message, TextView.BufferType.Spannable); //Toast.MakeText(this, "サーバーとの接続に成功しました。", ToastLength.Long).Show(); return("サーバーとの接続に成功しました。"); //return this.ClientConnect().Result; } } catch (UnknownHostException e) { e.PrintStackTrace(); //tv.SetText("エラー内容:" + e.ToString(), TextView.BufferType.Spannable); //Toast.MakeText(this, "サーバーとの接続に失敗しました。", ToastLength.Long).Show(); } catch (IOException e) { e.PrintStackTrace(); //tv.SetText("エラー内容:" + e.ToString(), TextView.BufferType.Spannable); //Toast.MakeText(this, "サーバーとの接続に失敗しました。", ToastLength.Short).Show(); } finally { try { // 接続終了処理 reader.Close(); connection.Close(); } catch (IOException e) { e.PrintStackTrace(); //tv.SetText("エラー内容:" + e.ToString(), TextView.BufferType.Spannable); //Toast.MakeText(this, "サーバーとの接続に失敗しました。", ToastLength.Short).Show(); } } return("サーバーとの接続に成功しました。"); }