예제 #1
0
 public void Close()
 {
     if (_socket != null)
     {
         _socket.Close();
     }
 }
예제 #2
0
 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);
     }
 }
예제 #5
0
 public void Close()
 {
     _socket.Close();
 }
예제 #6
0
        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("サーバーとの接続に成功しました。");
        }