我阅读了使用Windows手机套接字的msdn教程。 (http://msdn.microsoft.com/en-us/library/system.net.sockets.socket(v=VS.96).aspx)我到达时将我连接到服务器。
这个,给我一个回复200(OK回复)=>
HTTP/1.1 200 OK
Date: Mon, 16 Apr 2012 12:45:46 GMT
Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny13 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g
Last-Modified: Tue, 08 Aug 2006 14:12:09 GMT
ETag: "129a2e5-100000-41a822e23a040"
Accept-Ranges: byte
但我不知道下一步该做什么......
我将我连接到服务器,我发送了一个“GET消息”以下载文件
"GET /dwn/file.txt HTTP/1.1\r\nHost:myHost.com\r\n\r\n"
并在回复之后?我要做什么?
如果你知道教程,样本或只是解释,我会非常感谢你!
这个我的函数=>
private void ProcessReceive(SocketAsyncEventArgs e)
{
if (e.SocketError == SocketError.Success)
{
response = Encoding.UTF8.GetString(e.Buffer, e.Offset, e.BytesTransferred);
response = response.Trim('\0');
// show the response server value.
Debug.WriteLine(response.ToString());
// Data has now been sent and received from the server.
// Disconnect from the server
socket = e.UserToken as Socket;
socket.Shutdown(SocketShutdown.Send);
socket.Close();
clientDone.Set();
}
else
{
// show error in the debugger.
response = e.SocketError.ToString();
Debug.WriteLine(response);
}
}
答案 0 :(得分:1)
为什么不使用WebClient或类似的东西?
如果只是为了体验,你应该知道这不是一项微不足道的任务。以下是一些提示:
玩得开心!
修改强>
澄清(第1点):
// Data has now been sent and received from the server.
// Disconnect from the server
socket = e.UserToken as Socket;
socket.Shutdown(SocketShutdown.Send);
socket.Close();
为什么现在关闭并关闭套接字?响应主体遵循流中的标头。正如我所说,等待从服务器接收的字节可能更多。继续致电"接收"直到: