SQLの窓

2010年06月28日


VB.net : クライアントが送ったヘッダを表示するだけの HTTPサーバーU

2010/06/28 : 更新

POST(ファイルアップロードを含む) 処理に対応しています。単純な処理だと二つ問題が出たので、POST でうまく動かない場合がありました。

IE はヘッダ部分とデータ部分を分けて送信するようなのですが(必ずではありませんが、高い確率でそうなるようです)、ヘッダ部分が短い為、次のStream の読み込みでデータが残っているのに取得できないと言う現象が起こりましたので、二回目以降の Stream の読み込みの前で Sleep を追加しました。

また、データが完全に無いのにも関わらず、Stream を読んでしまうと戻って来ないので、読む前にデータが存在するかどうかをチェックするようにしました。これは、データの完全な終了は、やはり Content-Length を使う事でしか確実にならないと言う事も解りました。

※ このアプリケーションでは、Content-Length を使用していません
※ cURL を使用してアップロードする場合は、以下のオプションを設定して下さい
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Expect:'));

以下は cURL でファイルをアップロードしたところです

Easy_server_post

切りのいいところで受信バイトが変化していますが、必ずこうなるわけではありませんし、クライアントのアプリによっても違います。

関連する記事

ファイルアップロード



以下は通常の呼び出しです。ブラウザから呼び出すと、たびだびサイトのお気に入りのアイコンを読み出そうとしますので注意して下さい。

Vb_tcplistener
ブラウザでダウンロード
VB.net : クライアントが送ったヘッダを表示するだけの HTTPサーバー( TcpListener )
では、スレッドを使ったり表示部分に無駄が多かったりしたので、修正して機能追加しました

ソースコード

VB.net : クライアントが送ったヘッダを表示するだけの HTTPサーバーU


2010/06/23 更新分

※ Expires: -1 でキャッシュ制御( ブラウザ用 )
※ データ表示を受信全体から一気に表示
※ バッファを 1024 から 4096 に変更
※ 使用ポートを第一引数に指定可能
※ サーバーがすべてのネットワークインターフェイスで
※ クライアントによるネットワーク利用を待機する


posted by lightbox at 2010-06-28 20:59 | VB.NET : 通信 | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり