【 tulaoshi.com - 编程语言 】
                             
                            下面的示例显示如何使用 Socket 类向 HTTP 服务器发送数据和接收响应。  
[C#]  
public string DoSocketGet(string server)  
{  
//Sets up variables and a string to write to the server  
Encoding ASCII = Encoding.ASCII;  
string Get = "GET / HTTP/1.1rnHost: " + server +  
"rnConnection: Closernrn";  
Byte[] ByteGet = ASCII.GetBytes(Get);  
Byte[] RecvBytes = new Byte[256];  
String strRetPage = null;  
// IPAddress and IPEndPoint represent the endpoint that will  
// receive the request.  
// Get the first IPAddress in the list using DNS.  
IPAddress hostadd = Dns.Resolve(server).AddressList[0];  
IPEndPoint EPhost = new IPEndPoint(hostadd, 80);  
//Creates the Socket for sending data over TCP.  
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream,  
ProtocolType.Tcp );  
// Connects to the host using IPEndPoint.  
s.Connect(EPhost);  
if (!s.Connected)  
{  
strRetPage = "Unable to connect to host";  
return strRetPage;  
}  
// Sends the GET text to the host.  
s.Send(ByteGet, ByteGet.Length, SocketFlags.None);  
// Receives the page, looping until all bytes are received  
Int32 bytes = s.Receive(RecvBytes, RecvBytes.Length, 0);  
strRetPage = "Default HTML page on " + server + ":rn";  
strRetPage = strRetPage + ASCII.GetString(RecvBytes, 0, bytes);  
while (bytes  0)  
{  
bytes = s.Receive(RecvBytes, RecvBytes.Length, SocketFlags.None);  
strRetPage = strRetPage + ASCII.GetString(RecvBytes, 0, bytes);  
}  
//如果想立即关闭连接则调用 s.Close();  
return strRetPage;  
}