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も見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
ソケット通信で接続クライアントの上限を設ける
C言語・C++・C#
-
c# ネットワークプログラム
C言語・C++・C#
-
-
4
acceptをalarmでタイムアウトさせる処理がうまくいきません
C言語・C++・C#
-
5
CloseとDisposeの違い
Visual Basic(VBA)
-
6
TCP/IP通信時のサーバーからの受信
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TCP/IP通信時のサーバーからの受信
-
javaでのプログラミングで・・・
-
ソケットプログラミングに関す...
-
UDP通信する時に、相手にどうや...
-
ソケット通信 同じポート番号...
-
UDPで受信終了の合図を出して受...
-
VB2008にてRS232C通信をするソ...
-
TCP/IP通信でのコネクシ...
-
eclipseでのデバックについて
-
ソケット通信(サーバ側)について
-
ソケットとそれに基づくストリ...
-
空きポートの取得方法
-
JavaでBASIC認証突破
-
エクセル VBA でのCOMポート...
-
Linuxでパケットを発信する際・...
-
TCP/IP通信型プログラムです。 ...
-
マルチスレッドプログラミング...
-
Macターミナルで実行中のプログ...
-
VBAの配列サイズとメモリに関して
-
なんかC言語でプログラム書いて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TCP/IP通信時のサーバーからの受信
-
UDP通信におけるbind関数について
-
Winsockで接続待ちタイムアウト...
-
recv関数でフリーズしてしまう
-
VB6のwinsockでconnectできない
-
ソケットのクローズについて
-
UDP通信する時に、相手にどうや...
-
エクセル VBA でのCOMポート...
-
ソケットのrecvの戻り値が0
-
UdpClient 送信元のIPアドレ...
-
Socket通信の0バイト受信について
-
WinSockでの通信プログラムがう...
-
同じLAN内パソコンのIPアドレス...
-
ソケット通信 同じポート番号...
-
VC++でのソケット通信について
-
Connectエラーが出てしまう・・...
-
CreateFile関数でCOMポートが開...
-
Winsockを使わずにVBでSocketを...
-
VB6‥ソケットについて
-
SIPがNATを越えられない理由
おすすめ情報