C#, C♯, C#相談室 Part55at TECH
C#, C♯, C#相談室 Part55 - 暇つぶし2ch581:デフォルトの名無しさん
10/03/10 16:10:56
>>575 そのままコピペなんで無駄なコードあるかもしれませんが・・・
一番下のwhile文で1024バイトずつ読み込んで、大きな配列につないでます。
      String Server = "weather.livedoor.com";
String URI = "/forecast/rss/earthquake.xml";
const Int32 HttpPort = 80;
const Int32 BufferSize = 1024;
using (Socket requestSocket = ConnectSocket(Server, HttpPort))
{
String request = "GET " + URI + " HTTP/1.1\r\n";
request += "Host: " + Server + "\r\n";
request += "Connection: Close\r\n";
Byte[] requestData = Encoding.UTF8.GetBytes(request);
Byte[] recBuffer = new Byte[BufferSize];
Byte[] recBufferFull = new Byte[BufferSize * 100];
requestSocket.Send(requestData, requestData.Length, 0);
DateTime timeoutAt = DateTime.Now.AddSeconds(30);
while (requestSocket.Available == 0 && DateTime.Now < timeoutAt)
{
System.Threading.Thread.Sleep(100);
}
Int32 bytesRead = 0;
Int32 bytesReadBefore = 0;
while (requestSocket.Poll(10 * 1000000, SelectMode.SelectRead))
{
Array.Clear(recBuffer, 0, recBuffer.Length);
bytesRead = requestSocket.Receive(recBuffer);
if (bytesRead == 0)
{ break;}
recBuffer.CopyTo(recBufferFull, bytesReadBefore);
bytesReadBefore += bytesRead;
}


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch