No.3
- 回答日時:
接続を待つ側は、ソケットを生成するときにTCPかUDPかを
指定してソケットを生成していたと思いますが?
あと、ソケット処理の基本としては、接続を受ける側は
生成したソケットでlisten⇒selectを行った形でまつ
ようになると思います。それに大して、相手がconnectした
たら、selectで検知できます。selectの第1パラメータか
なにかに接続待ちするポート番号を指定できたと思います
が、そこらへんは間違っていませんか?
もし、それでもだめなら、コマンドラインなどからnetstat
コマンドで、生成して待ち状態にあるソケットの状態を
確認してみてはどうでしょうか?それで待ち状態になって
いるのでselectがこないというのであれば、接続待ちの
ほうではなく接続しようとしているほうに問題があるので
はないかと思いますが。
うまくできました。
今までできなかったのは送信側のポート番号設定が間違っていたのが原因でした。
御指摘等、ありがとうございます。(^^)
No.2
- 回答日時:
できますが、面倒くさいです。
覚悟してください。先ず、ioctlかfcntlでソケットをnon-blockingモードにしてからconnectを呼びます。connectは必ずエラーで戻ってくるので、エラーを無視し、ソケットがライト可能になるのをselectで待ちます。ソケットがライト可能になったらgetpeername等でconnectの結果を調べます。成功していれば0、タイムアウト等で失敗しれば-1が戻ります。
ioctlやfcntlの仕様はシステムによって異なるので、マニュアルを見てください。キーワードは、O_NONBLOCK、O_NDELAY、FIOSNBIO等です。
なお、acceptについては簡単です。listenに渡したソケットがselectでリード可になれば、即座にacceptが可能です。
この回答への補足
selectでやってみましたがウマクいきませんでした。
検知もしてないようです。UDPと多重通信を試みているのですがポート番号がTCPとUDPで同じものを使うのはだめなのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL mysqlで INSERT と SELECTの用途は 1 2022/04/01 00:45
- Excel(エクセル) vba 複数の行を非表示の時コードのまとめ方 3 2022/11/17 15:01
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- その他(コンピューター・テクノロジー) 「プロトコル」の定義について 5 2023/04/16 13:13
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
ソケット通信で接続クライアントの上限を設ける
C言語・C++・C#
-
CloseとDisposeの違い
Visual Basic(VBA)
-
-
4
acceptをalarmでタイムアウトさせる処理がうまくいきません
C言語・C++・C#
-
5
c# ネットワークプログラム
C言語・C++・C#
-
6
TCP/IP通信時のサーバーからの受信
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Winsockを使わずにVBでSocketを...
-
TCP/IP通信時のサーバーからの受信
-
VB6のwinsockでconnectできない
-
UDPを使って通信速度測定プログ...
-
ソケットのrecvの戻り値が0
-
winsockを使った通信での同時接...
-
オセロゲームのオンラインゲーム
-
MFCソケットについて
-
VC++でのソケット通信について
-
Javaプログラム同士のプロセス...
-
C#とTCP/IPを利用したサーバー...
-
Socket通信の0バイト受信について
-
エクセル VBA でのCOMポート...
-
Winsockで接続待ちタイムアウト...
-
異なる言語間でのソケット通信...
-
UdpClient 送信元のIPアドレ...
-
名前付きパイプの通信ポートに...
-
ポート番号0について
-
JavaでBASIC認証突破
-
recv関数でフリーズしてしまう
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TCP/IP通信時のサーバーからの受信
-
エクセル VBA でのCOMポート...
-
UDP通信する時に、相手にどうや...
-
UDP通信におけるbind関数について
-
UdpClient 送信元のIPアドレ...
-
Winsockで接続待ちタイムアウト...
-
recv関数でフリーズしてしまう
-
ソケットのクローズについて
-
ソケットのrecvの戻り値が0
-
Socket通信の0バイト受信について
-
ソケット通信 同じポート番号...
-
相手のIPアドレスを取得する方法
-
ソケットでクライアントのipア...
-
VB6のwinsockでconnectできない
-
Connectエラーが出てしまう・・...
-
ソケット通信の送受信遅延-02 ...
-
同じLAN内パソコンのIPアドレス...
-
WinSockでの通信プログラムがう...
-
UDPのソケットプログラミング
-
非ブロッキングソケットのrecv...
おすすめ情報