問題タブ [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 投票する
2 に答える
9973 参照

c++ - C++ - シンプルな HTML をクライアントに送信するシンプルなサーバー

今、私はこれをいじっているだけで、なぜこれが機能しないのかわかりません。

これをコンパイルして実行し、ブラウザで 127.0.0.1 に移動すると、コンソールに次のように表示されます。

GET / HTTP/1.1

ホスト: 127.0.0.1

接続: キープアライブ

ユーザーエージェント: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/530.5 (Gecko のような K HTML) Chrome/2.0.172.8 Safari/530.5

キャッシュ制御: max-age=0

受け入れる: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png, / ;q=0.5

Accept-Encoding: gzip、deflate、bzip2、sdch

Accept-Language: en-US,en;q=0.8

Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

編集- 送信する HTML を更新しました。これを Mozilla Firefox と Google Chrome でテストしたところ、Firefox では動作しますが、Chrome では動作しません!

編集 2 - Chrome ではなく Firefox で動作していた理由は、Chrome がレンダリングを行う前に接続が閉じるのを待っている間に、Firefox が HTML を受信したとおりに表示するためだったようです。ソケットを閉じるコードを追加したところ、うまくいきました。コードを作業ソースで更新しました。

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

c++ - Linux から Windows への C++ バイト配列

Linux から Windows にデータを取得するには、C++ で次の Java 機能を複製する必要があります。Winsock2 が最善の方法ですか?.

また、提案する参照コードはありますか?

ティア、B

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

delphi - winsock2とIOCPを使用したDelphi TClientSocketの交換?

そのようなことはありますか?非同期である必要があります (Indy ではありません)。

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

c++ - LoadLibrary と GetProcAddress を使用して WinSock 関数を呼び出す

基本的に、次のようなヘッダー ファイルがあります。

そして、私はこのようなことをします:

ただし、この関数 ((*start)(test, &wsdata) の行) を呼び出すと、次のエラー メッセージが表示されます。

sockets.exe の 0x7868146a で未処理の例外: 0xC0000005: アクセス違反。

呼び出し規約 (__cdecl、WINAPI、WSAAPI) を変更しようとしましたが、常に同じエラー メッセージで終了します。

0 投票する
4 に答える
2645 参照

c++ - Winsock2:VC ++でlistenのバックログを使用して、一度に1つのクライアント接続のみを許可する方法

TCPサーバーから一度に1つの接続のみを許可したい。バックログの長さをゼロにせずにlistenを使用する方法を教えてください。

コード(下記)を使用していますが、2つのクライアントを1つずつ起動すると、両方が接続されます。私はwinsock2でVC++を使用しています。

listen(m_socket、-1);

バックログとしてゼロを渡すことも機能していません。

返信を待っています。

よろしく、
immi

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

winsock2 - アクティブな QoS ソケットがない場合、Windows RSVP QoS サービスは停止します。それは変更できますか?

QoS ソケットを使用するプログラムがあり、ソフトフォン アプリケーションは RTP に QoS を使用します。

通常、そのアプリケーションは実行されたままですが、再起動されることもあります。(停止、300ms 待機、開始)

ソフトフォン アプリケーションが停止すると、サーバーで QoS を使用している最後のアプリケーションが停止するため、Windows の RSVP QoS サービスも停止することがわかりました。

アプリケーションを再起動すると、RSCP QoS サービスは通常非常に高速に開始しますが、サービスの開始に 30 秒かかる場合があり、アプリケーションの開始も遅くなります。

毎回停止しないようにサービスを構成できるかどうか知っている人はいますか?

コンピューターは Windows XP SP3 で、Windows ファイアウォールが有効になっています。(私たちのアプリケーションには、ファイアウォールで例外があります。)

よろしく
レイフ

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

windows - プロセスで WSAStartup が呼び出されたかどうかを確認することはできますか?

ソケットを利用する ActiveX コントロールの作成を開始しました。

このコントロールを使用するアプリケーションは、ソケットも使用する場合と使用しない場合があります。WSAStartup が呼び出されたかどうかをコントロールで判断することはできますか?

そうでない場合は、電話してください。ちょっとしたテストで、WSAStartup の複数回の呼び出しが許容されることがわかりました。しかし、別のバージョンの winsock が要求された場合はどうなるでしょうか? これにより、アプリケーションの他の部分が壊れますか?

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

c - cのWindowsソケットアプリケーションでエラー10038をバインドします

cでSocketServerアプリケーションをテストしていますが、コード10038のバインド関数でエラーが発生します。これを調べたところ、MSDNは次のことを意味していると言っています。

ソケットではないものに対して操作が試行されました。ソケットハンドルパラメータが有効なソケットを参照していないか、selectの場合、fd_setのメンバーが無効でした。

コードは次のとおりです。

// includeなどの正しいインクルードファイルがありますが、#includewinsock2.hを置くとstackoverflowで奇妙に表示されます

}

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

tomcat - Tomcatを使用したWindows7での「AcceptEx()WinSock2APIの使用の無効化」エラー

C:\ Program Files \ Apache Software Foundation \ Tomcat 6.0 \ bin \tomcat6.exeを使用してWindows7EnterpriseでJRE6を使用してTomcat6を起動すると、アプリケーションが開かず、イベントビューアに次のメッセージが表示されます。

AcceptEx()WinSock2APIの使用を無効にしました。

オペレーティングシステムをアップグレードする前は、Tomcatの同じインストーラーがWindowsVistaで動作していました。

誰かがこれを修正する方法を提案できますか?

これについて言及している唯一のサイトは http://www.apachelounge.com/viewtopic.php?p=4418 で、この構成設定「Win32DisableAcceptEx」の使用を提案していますが、TomcatではなくApache用であり、どこにあるのかわかりません。どの構成ファイルでTomcatに入れる必要があるかもしれません。

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

64-bit - 64 ビット Windows での gethostbyname の問題

一部のコードを 32 ビット Windows (XP および Server 2003) から 64 ビット Windows 7 に移行しようとしていますが、gethostbyname で奇妙な問題が発生しています。

私はこのようなことをしています:

gethostbyname の呼び出し後、ポインター hp->h_addr_list が無効になります。数値はすべて正しいのですが、32 ビット ポインターが何らかの形で間違ったスペースに詰め込まれたようです。

たとえば、私が得るものは

hp->h_addr_list = 0x0064bdd800000000

hp->h_addr_list = 0x000000000064bdd8 となるように前半と後半を手動で交換すると、ポインターは有効になり、正しいデータを指します。

ゼロの代わりに baadf00d を取得することもあります (つまり、hp->h_addr_list = 0x0064bdd8baadf00d)。

私が知る限り、すべてが正しい 64 ビット バージョンの winsock ライブラリにリンクされているため、この種の問題の原因はわかりません。