UDP接続で2台のコンピュータでチャットをするプログラムを作ってます。
そこで、バインドしたときに相手からの接続がされてるかどうかの確認をする機能をつけたいと思っているのですが良い方法が思いつきません。
何か教えていただけたらと思います。よろしくお願いします。

A 回答 (3件)

>Winsockを使ってVBでチャット


 を作るなら、TAGOSAKU7 さんがおっしゃるように TCP/IPのほうがいいと思います。

なにか他の事情があって、UDPでいくのなら、接続確認はアプリの手順で考えなくてはいけません。
TCP/IPは、「回線を接続する」という概念がありますが、UDPの場合にはありません。(自分のポートではなく、相手も含んだ接続回線と言う意味です)

その辺をふまえて・・・・

>良い方法が思いつきません。
私の場合は、特定のポートを接続確認用に、チャット用とは別にポートを使っています。
チャット参加者テーブルから、相手に対して問合せ文字を送り、また、問合せ文字に対しては、確認文字を返します。
これで、複数の会議形式のチャットができます。
決してベストの方法ではなく、簡易さとか速度のバランスから実践的に使っているという程度です。

#COMポートの結線と似たような考え方です。
    • good
    • 0
この回答へのお礼

あいがとうございます。さっそく参考にさせていただきたいとおもいます。
しかし、UDPはどんな通信にむいているのでしょう?

お礼日時:2001/12/18 12:20

>UDP接続で2台のコンピュータでチャット


2台のPCでのチャットならTCP/IPの方がいいのでは・・・

UDPはエラー処理をしてくれないですけど、そこら辺のロジックも大丈夫ですか?
複数人数同時参加のチャットならUDPで組むと、早くすることも可能だけど、2台ならあまり意味が無いような気がするのは僕だけでしょうか?

参考URL:http://www.microsoft.com/JAPAN/developer/library …
    • good
    • 0
この回答へのお礼

ありがとうございます。UDPとTCPのちがいがはっきりわかっていないところもあったので、今回の回答は大変助かりました。ところでUDPは何の通信にむいてるのでしょうか?

お礼日時:2001/12/18 12:15

sckClosed 0 (既定値) 閉じています。


WinsockコントロールのStateプロパティで状態がわかります。

参考までに定義と値を載せておきますね。

sckOpen 1 開いています。
sckListening 2 接続要求を待っています。
sckConnectionPending 3 接続がペンディング状態になっています。
sckResolvingHost 4 ホストの解決処理中です。
sckHostResolved 5 ホストの解決が完了しました。
sckConnecting 6 接続処理中です。
sckConnected 7 接続が完了しました。
sckClosing 8 相手側のマシンが接続を閉じようとしています。
sckError 9 エラー。
    • good
    • 0
この回答へのお礼

回答していただきありがとうございました。
UDPにもこの定義を使うことができるのですか。
1度試したのですけどうまくいかないかったのであきらめてましたが、もう一度試してみようと思います。

お礼日時:2001/12/17 16:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

今、見られている記事はコレ!

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ