
MS-VB6 SP6 を使って作業をしております。
Winsock を使って、複数のユーザー対応のチャットを
作成していまして…複数接続を行うために
ソケットを使おうと考えております。
…しかしネットやヘルプで調べましたが、よくわかりません
ソケットの作成方法・利用方法や実際のサンプル…
などありましたら、教えてください。
また、他にもネットワークを介してのアプリケーション
開発において、アドバイスなどありましたら
そちらの方もお願い致します。
P.S.
Winsock のプロトコルは、TCPを使用しています。
No.2ベストアンサー
- 回答日時:
>※ヘルプの項目にサンプルがあったのですが・・
下のような形で記載されておらず、C言語での
説明しか載ってませんでした。(サンプルについて)
MSDNの「Winsock (Winsock) コントロールの使い方」
をみていますか?この頁の「TCP 接続の基礎」~
「2 つ以上の接続要求の受け付け」にサンプルも
のっています。
>Private Sub Form_Load()
>Winsock1.LocalPort = 0
>Winsock1.Listen
>End Sub
Winsock1.LocalPort = 0
この部分ですが0ではなく1024以降の番号をお勧めします。
10000番とか・・
上記のプログラムで一応ソケットの作成は終わってますよ
クライアント側のソフトは大丈夫ですか?
この回答への補足
はい、確認致しました。
--------
Private Sub Form_Load()
Winsock1.LocalPort = 0
Winsock1.Listen
End Sub
--------
の部分ですが、MS-Visual Basic6.0 での再接続時
ポート番号0 を指定しないと再接続できないそうです。
MS社も認めているエラーだそうです。
回避策として、ポート番号0 を指定する方法が
良いようです。具体的には、ポート番号0 を指定すると
自動的に空いているポートが使用されるようです。
>1024以降
…ウェルノウンポートですよね(確か‥)
Windowsがシステムで予約していないポート番号。
再接続時にエラーが引き起こる要因として、一度
使われたポートは一定時間経過しないと再び使えない
…というものなので、1024以降も難しいかと(^^;
一応、アドバイス通りトライしてみます。
--------------
MSDNに記載されていました(冷や汗
Winsockの方にソケット生成の方法が記載されているとは
見当違いのほうを検索してました。(^^;
(ソケット作成のキーワードで検索してたり・・)
回答してくださって、本当にありがとうございますm(_ _)m
No.1
- 回答日時:
>実際のサンプル
ヘルプで「Winsock コントロール」(サンプルも出ています)を見てわからないところを、具体的に書くと、解答しやすいと思います。
この回答への補足
ヘルプのサンプルは、この際考えないでください。
ヘルプの内容より、わかりやすいサンプルを
期待してます。
※ヘルプの項目にサンプルがあったのですが・・
下のような形で記載されておらず、C言語での
説明しか載ってませんでした。(サンプルについて)
下記が自分が作成しているものの、一文です。
---------------------------
Private Sub Form_Load()
Winsock1.LocalPort = 0
Winsock1.Listen
End Sub
---------------------------
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then
Winsock1.Close
Winsock2.Close
End If
Winsock1.Accept requestID
End Sub
---------------------------
Winsock1.Accept requestID の前後にソケットを
作成とか指定するんだろう・・かな?
…としか、わかっていません。
ソケットの作成自体、やり方がわからないので
さっぱりです(ー。ー)
アドバイス、ありがとうございます(^^)v
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TCP/IP通信時のサーバーからの受信
-
VB6のwinsockでconnectできない
-
VB6‥ソケットについて
-
相手のIPアドレスを取得する方法
-
closeされたsocketへの動作につ...
-
ソケットのクローズについて
-
JavaによるXMLの送受信
-
ソケットを用いた1対多通信につ...
-
CreateFile関数でCOMポートが開...
-
Socket通信の0バイト受信について
-
Macターミナルで実行中のプログ...
-
タスクマネージャーのプロセス...
-
VBAの配列サイズとメモリに関して
-
スーパーのレジで並んでいたら...
-
VB6 コマンドボタン クリック...
-
家電製品の電力周波数を変える機械
-
64BitOSについて
-
VBA、UserFormを前面に出力して...
-
vb.netでEXCEL起動がうまくでき...
-
このレジの並び方は間違ってま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TCP/IP通信時のサーバーからの受信
-
UDP通信する時に、相手にどうや...
-
UDP通信におけるbind関数について
-
エクセル VBA でのCOMポート...
-
ソケットのクローズについて
-
ソケットのrecvの戻り値が0
-
VB6のwinsockでconnectできない
-
Socket通信の0バイト受信について
-
recv関数でフリーズしてしまう
-
Winsockで接続待ちタイムアウト...
-
Connectエラーが出てしまう・・...
-
送信したデータの一部が文字化...
-
【ajax】 XMLHttpRequestオブジ...
-
ソケット通信
-
closeされたsocketへの動作につ...
-
wsdlからのサービス化を行い。
-
Cにおける通信プログラミングの...
-
UdpClient 送信元のIPアドレ...
-
非ブロッキングソケットのrecv...
-
ソケットを用いた1対多通信につ...
おすすめ情報