ネットワーク

・ホスト名を取得する  Dns.GetHostName();

 ・IPアドレスを取得する

        string host=Dns.GetHostName();

            IPHostEntry ip = Dns.GetHostByName(host);
            IPAddress ipaddr = ip.AddressList[0];
            MessageBox.Show(ipaddr.ToString());

            IPAddress[] add = Dns.GetHostAddresses(host);

         foreach (var a in add)
             {
                 str += a.ToString() + "\n";
              }

・指定したサーバにTCP/IPソケットを使って接続する

           TcpClient client = new TcpClient();
            try
            {
                client.Connect("www.msn.com", 80);
            }
            catch (SocketException ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                client.Close();
            }

・指定したサーバにTCP\IPソケットを使ってデータを送信する

 TcpClient client = new TcpClient();
            try
            {
                client.Connect("localhost", 80);
                NetworkStream stream = client.GetStream();
                byte[] data = Encoding.ASCII.GetBytes("konnichiwa");
                stream.Write(data,0,data.Length);
                MessageBox.Show("OK");
            }
            catch (SocketException ex)
            {
                MessageBox.Show(ex.Message);
            }
            catch(IOException ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                client.Close();
            }

・指定したサーバにTCP/IPソケットを使ってデータを受信する


        TcpClient client = new TcpClient();
            try
            {
                client.Connect("www.msn.com", 80);
                NetworkStream stream = client.GetStream();
                byte[] data = Encoding.ASCII.GetBytes("GET /start.html http/1.0\r\n\r\n");
                stream.Write(data,0,data.Length);

                byte[] recv = new byte[2000];
                int n = stream.Read(recv,0,recv.Length);
                string output = Encoding.ASCII.GetString(recv,0,n);
                MessageBox.Show(output);
             }
            catch (SocketException ex)
            {
                MessageBox.Show(ex.Message);
            }
            catch(IOException ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                client.Close();
            }


サーバを作成してクライアントからの接続を待つ

      try
            {
            //リスナーを作成
            IPAddress ipaddr = Dns.Resolve(Dns.GetHostName()).AddressList[0];
            TcpListener listener = new TcpListener(ipaddr,9000);
            listener.Start();
            //接続を受付
            TcpClient acc = listener.AcceptTcpClient();
            //データ受信
            NetworkStream stream = acc.GetStream();
            byte[] data = new byte[100];
            int n = stream.Read(data,0,data.Length);
            //レスポンスを作成
            string recv = Encoding.ASCII.GetString(data,0,n);

            string res = "Recv ["+recv+"]";
            byte[] resdata = Encoding.ASCII.GetBytes(res);
            stream.Write(resdata,0,resdata.Length);
            acc.Close();
            listener.Stop();
            }
            catch
            {

            }

・webサーバーにhttpプロトコルを使って接続する

            WebClient web = new WebClient();
            try
            {
                Stream s = web.OpenRead("http://www.msn.com");
                StreamReader sr = new StreamReader(s);
               label1.Text= sr.ReadToEnd();
            }
            catch
            {

            }
            finally
            {
              
            }
・指定URLでデータファイルをダウンロードしてファイルに保存する DownloadFile();

・指定URLへファイルをアップロードする  UploadFile();







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值