socket编程学习系列(一)

来源:互联网 发布:linux sftp命令下载 编辑:程序博客网 时间:2024/06/05 23:15

   这段时间开始学习socket编程。

   先从掌握基础知识开始,照着帮助写了一个访问指定域名首页的windos程序。界面包括两个textbox和一个按钮,textbox2输入域名,而textbox1为读取的首页的内容。button1的click事件,完成读取操作。

        private void button1_Click(object sender, EventArgs e)
        {
            string strIp = textBox2.Text;
            int port=80;//默认端口80
            IPHostEntry iph= Dns.GetHostByName(strIp);//解析域名
            Socket sk = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//实例化一个socket
            IPEndPoint ip = new IPEndPoint(iph.AddressList[0].Address, port);
            sk.Connect(ip);//连接
            string strpost="GET / HTTP/1.1/r/nHost: " + textBox2.Text +         "/r/nConnection: Close/r/n/r/n";
            byte[] byt= new byte[256];
            byte[] bytget = System.Text.ASCIIEncoding.ASCII.GetBytes(strpost);
            sk.Send(bytget,bytget.Length,0);//发送
            Int32 intrevlen = sk.Receive(byt, byt.Length, 0); //接收
            string strrevHtml = System.Text.ASCIIEncoding.UTF8.GetString(byt,0,intrevlen);
            while (intrevlen > 0)
            {
               intrevlen= sk.Receive(byt, byt.Length, 0);
               strrevHtml = strrevHtml + System.Text.ASCIIEncoding.UTF8.GetString(byt, 0, intrevlen);
            }
            sk.Close();
            textBox1.Text = strrevHtml;


        }

       很简单的例子。

原创粉丝点击