套接字帮助和建议

时间:2011-07-09 18:46:57

标签: c#

我正在尝试学习如何使用套接字来发送网络请求,但我很难在网上找到任何东西。我找到了很多“客户” - >使用套接字的“服务器”教程,但没有涉及制作Web请求,刮刀等的内容。

我希望能够使用套接字开发多线程应用程序,因为我听说它们更容易使用。

1 个答案:

答案 0 :(得分:3)

  

我正在尝试学习如何使用套接字来发送网络请求,但我很难在网上找到任何东西。

如果通过网络请求表示HTTP请求,那么使用套接字将是太低级别。为此,我建议您使用WebClientWebRequest。例如,以下是如何向google.com发送HTTP请求并获取生成的HTML:

using System;
using System.Net;

class Program
{
    static void Main()
    {
        using (var client = new WebClient())
        {
            var result = client.DownloadString("http://www.google.com");
            Console.WriteLine(result);
        }
    }
}

更新:

根据评论部分的要求,这是一个使用套接字学习的例子:

using System;
using System.IO;
using System.Net.Sockets;

class Program
{
    static void Main()
    {
        using (var client = new TcpClient("www.google.com", 80))
        using (var stream = client.GetStream())
        using (var writer = new StreamWriter(stream))
        using (var reader = new StreamReader(stream))
        {
            writer.Write(
@"GET / HTTP/1.1
Host: www.google.com
Connection: close

");
            writer.Flush();
            Console.WriteLine(reader.ReadToEnd());
        }
    }
}

免责声明:绝对不要在任何实际应用程序中编写任何类似的代码。