問題タブ [winsock2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
376 参照

qt - Qt でソケット winapi を使用する

リモート サーバーと通信する API を使用していますが、これは でのみ使用できますC。これは非常に特殊なプロトコルであり、非常に手間がかかるため、書き直すことはできません。

提供される API は、標準の Winsock2 スキームを使用します。それで、それを扱うために私は追加しました

私のプロジェクトの .pro ファイルに。

ただし、プログラムが WinSock 関数にアクセスするWSAStartupと、エラー メッセージが表示されてすぐにクラッシュしますSIGILL -- Illegal Instruction。私は何を間違っていますか?

0 投票する
2 に答える
2554 参照

c++ - 接続されたホストの IP アドレスを Windows Socket (C++) から取得するにはどうすればよいですか?

これが以前に尋ねられたのを見たことがありますが、うまくいく答えは見つかりませんでした。その情報を他のクライアントに転送するために、サーバーが接続されているコンピューターの明示的な IP アドレス (つまり、123.456.789.100) とポート番号を取得する必要があります。Windows 7 (Home Premium)、Visual Studio 2010 Professional で WinSock2.h を使用して、「C++ コンソール アプリケーション」を作成しています。これは TCP 接続です。これまでの私のコードは次のとおりです。

これにより、常に IP に 205.205.205.205、PORT に 52685 が毎回返されます。gethostbyname などの代替手段を試しましたが、これは機能しますが、実際の IP 自体が必要です。getsockname() の代わりに getpeername() も試しましたが、結果は同じでした。私はルーターの背後にいますが、これまで同じマシンでサーバーとクライアントの両方を使用しています。

事前にすべての助けに感謝します!

0 投票する
2 に答える
2542 参照

delphi - getnameinfoおよびgetaddrinfoのDelphiラッパー

getnameinfoおよびgetaddrinfoソケットAPIのDelphiラッパーを見つけようとしています。誰かがそれらを見つける場所を知っているか、それらを作成していて、共有することを気にしないでしょうか?

0 投票する
0 に答える
484 参照

sockets - Winsock2 を使用して Protocol Buffer オブジェクトを送信するには?

C++ と Java の間で Protocol Buffer オブジェクトを転送する単純なソケットを使用して、クライアント サーバー アプリを作成しています。クライアントとレシーバーの両方としてJava側で作成しました。Java を C++ に送信することもできましたが、C++ から Java への送信に問題があります。書き方がわかりません。最初にサイズを送信してから、proto オブジェクトを読み取ります。

私は Visual Studio C++ 2008 を使用しています。DataGram と Bookmartlet は私のプロト オブジェクトです。

ここに私のC++送信者クライアントがあります

int loopt = 99;

これは私が Java から複製しようとしているものです。

どんな助けでも素晴らしいでしょう。ありがとう。

参照用 Java のクライアント:

0 投票する
1 に答える
19024 参照

c++ - Winsock2 C ++のサーバーソケットでリッスンと受け入れを停止/再開するにはどうすればよいですか?

Visual Studio Pro C ++でソケット(Winsock2)を作成して、接続(TCP)のポートをリッスンしました。完全に動作しますが、独自のスレッドで実行するようにしました。後で再起動することを期待して、シャットダウンできるようにしたいと思います。問題なくスレッドを終了できますが、そうしてもソケットが新しいクライアントを受け入れるのを止めることはありません(つまり、スレッドを閉じる前に行っていた受け入れにとどまります)。新しいクライアントを接続することはできますが、何も起こりません...それは受け入れるだけで、それだけです。私が欲しいのは、それがリッスンして受け入れるのを止めて、後で同じポートで再起動するように指示できるようにすることです。今すぐ再起動しようとすると、ポートがすでに使用されていることがわかります。

スレッドのリッスン機能は次のとおりです。

TCPServerの関連機能は次のとおりです。

closesocket()とshutdown()の両方を試しましたが、どちらもエラーをスローしました。

お手数をおかけしますが、よろしくお願いいたします。

0 投票する
1 に答える
445 参照

winsock2 - Windowsはソケットとコマンドライン入力を同時にリッスンします

私のアプリケーションは、コマンドラインからのユーザーからのキーボード入力をリッスンするだけでなく、単一のループで同時にソケット上のデータをリッスンする必要があります。このアプリケーションは現在Linuxで実行されており、selectを使用して、select呼び出しに指定されたfd_set配列リストにstdinおよびネットワークソケットを追加することで、上記を簡単に実現できます。アクティビティに応じて、アプリはユーザー入力またはソケット上のデータのいずれかを処理できます。

現在、このアプリケーションをWindowsに移植していますが、Windowsについてはあまり詳しくありません。上記はWindowsでどのように達成できますか?それは、ソケットだけでなくstdinでのアクティビティをリッスンしています。どんなポインタでもありがたいです。

0 投票する
3 に答える
3733 参照

c++ - winsock2で他のデータ型を送信する

winsock2のsend関数は、charポインターのみを受け入れます。整数またはオブジェクトを送信するにはどうすればよいですか?

0 投票する
1 に答える
1242 参照

c++ - Winsock 2.0 がパブリック IP アドレスに接続しない

そこで私は、ネットワーキングのすばらしい世界に入るために、単純なテキスト IM プログラムを構築しようとしています。Winsock 2.0 と C++ を使用して、サーバーとクライアントの 2 つのプログラムを作成しました。ソケット作成で UDP 接続を指定しました。

ローカル IP アドレスを使用してサーバーに接続しようとすると、すべてが機能します。ただし、インターネットの IP アドレスを使用すると接続できません。ファイアウォールとウイルス対策の両方を無効にして複数のテストを行ったので、ファイアウォールの問題ではないことは確かです. 足りないものはありますか?ローカル アドレス経由では接続できるが、パブリック IP アドレス経由では接続できない理由が他に考えられますか? どうもありがとうございました!

0 投票する
0 に答える
1148 参照

c++ - recvfrom() は、ブロックしている udp ソケットでの sendto() 呼び出しの後に 0 を返します

sendto() 呼び出しの後にブロッキング udp ソケットで recvfrom() を呼び出すと、0 が返されます。

しかし、それらの間で Sleep() 関数を呼び出すと、 recvfrom() は受信した udp パケットの正しい長さを返します。

ステップ オーバー モードでデバッガーを使用すると、同じ正しい動作が見られます。

udp ソケットのこの動作を明確にすることはできますか?

0 投票する
1 に答える
410 参照

sockets - VC++Winsock2エラー10049。IRCボットを構築しようとしています

IRCボットをPythonからC++に移植しようとしていますが、Winsock2でいくつかの問題が発生しています。私はC/C ++のソケットにかなり慣れていません。このコードのほとんどは、さまざまなチュートリアルからまとめられています。エラー10049が発生し続け、途方に暮れています。どんな助けでも大歓迎です。ありがとう!

port_は6667に設定され、host_は「irc.rizon.net」です。