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も見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
acceptをalarmでタイムアウトさせる処理がうまくいきません
C言語・C++・C#
-
ソケット通信で接続クライアントの上限を設ける
C言語・C++・C#
-
-
4
c# ネットワークプログラム
C言語・C++・C#
-
5
CloseとDisposeの違い
Visual Basic(VBA)
-
6
TCP/IP通信時のサーバーからの受信
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UdpClient 送信元のIPアドレ...
-
ソケットでクライアントのipア...
-
ソケットのrecvの戻り値が0
-
ソケット通信 同じポート番号...
-
SendRequestでヘッダが受信され...
-
UDPで受信スループットを測定
-
空きポートの取得方法
-
ソケット通信の送受信遅延-02 ...
-
UDP通信する時に、相手にどうや...
-
Winsockで接続待ちタイムアウト...
-
Javaプログラム同士のプロセス...
-
VB6‥ソケットについて
-
Winsockプログラミング Connec...
-
recv関数でフリーズしてしまう
-
ソケットを用いた1対多通信につ...
-
株価チャートプログラム
-
SIPがNATを越えられない理由
-
C言語でチャットプログラミング...
-
UDPの宛先ポートと送信元ポート...
-
ラズパイでのシリアル通信、音...
マンスリーランキングこのカテゴリの人気マンスリー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ポートが開...
-
VB6‥ソケットについて
-
Winsockを使わずにVBでSocketを...
-
SIPがNATを越えられない理由
おすすめ情報