問題タブ [wsastartup]

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 に答える
1284 参照

c++ - boost :: asio::io_serviceは例外をスローします

さて、私はこれを真剣に理解することはできません。

Asio(Boost 1.45.0以降)を使用しようとしているMSVCのDLLプロジェクトがありますが、io_serviceを作成するたびに、例外がスローされます。これが私がテスト目的で行っていることです:

メッセージボックスには次のように表示されます。

winsock:WSAStartupは、ネットワークサービスを提供するために使用する基盤となるシステムが現在利用できないため、現時点では機能できません。

これはMSDNがそれについて言っていることです(エラーコード10091、WSASYSNOTREADY):

ネットワークサブシステムは利用できません。このエラーは、ネットワークサービスを提供するために使用する基盤となるシステムが現在利用できないためにWindows Sockets実装が機能できない場合に、WSAStartupによって返されます。ユーザーは次のことを確認する必要があります。適切なWindowsSocketsDLLファイルが現在のパスにあること。複数のWindowsSockets実装を同時に使用しようとしていないこと。システムに複数のWinsockDLLがある場合は、パスの最初のDLLが現在ロードされているネットワークサブシステムに適していることを確認してください。必要なすべてのコンポーネントが現在正しくインストールおよび構成されていることを確認するためのWindowsSockets実装ドキュメント。

しかし、これは私には当てはまらないようです(またはそう思います)。

これが私のコマンドラインです:

/ O2 / GL / D "_WIN32_WINNT = 0x0501" / D "_WINDLL" / FD / EHsc / MD / Gy / Fo "Release \" / Fd "Release \ vc90.pdb" / W3 / WX / nologo / c / TP / errorReport:prompt

何が悪いのか誰かが知っているなら、私を助けてください!ありがとう。

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

c - WSAStartup関数はどのようにしてWinsockDLLの使用を開始しますか?

WSAStartup関数はどのようにしてWinsockDLLの使用を開始しますか?

ドキュメントによると

WSAStartup関数は、アプリケーションまたはDLLによって呼び出される最初のWindowsSockets関数である必要があります。これにより、アプリケーションまたはDLLは、必要なWindows Socketsのバージョンを指定し、特定のWindowsSockets実装の詳細を取得できます。アプリケーションまたはDLLは、WSAStartupを正常に呼び出した後でのみ、さらにWindowsSockets関数を発行できます。

この関数WSADATAはデータ構造を初期化しますが、ソケットプログラミングではどの関数にも渡さないWSDATAので、プログラムはどのようにしてWindowsSocketsのバージョンやその他の詳細を知るようになりますか?

たとえば、このコードでは

この例では、関数をWSADATA使用してデータ構造を初期化してWSAStartup()いますが、その後はどこにも渡されませんwsaData

では、私のプログラムはどのようにしてwsaData詳細を知るようになるのでしょうか?

ありがとう。

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

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

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

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

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

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

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

c++ - WSACleanupでboost::shared_ptrを使用する

次のように、関数がスコープ外になったときにWSACleanup()が呼び出されるように、boost::shared_ptrを使用したいと思います。

これはコンパイルされません、

Error 1 error C2197: 'int (__stdcall *)(void)' : too many arguments for call C:\projects\svn-5.3\ESA\Common\include\boost\detail\shared_count.hpp 116

何かご意見は?

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

powershell - PowerShell IIS:\ WebAdmin リモート呼び出しが WSAStartup エラー、WSANOTINITIALISED をトリガーする

WebAdministration モジュールで PSRemoting を使用して、さまざまなサイトに関する情報を取得していますが、機能しています。ただし、コマンドの呼び出し中に迷惑な致命的ではない COM 例外を受け取り、他の誰かがそれを解決したかどうか疑問に思っています。最小限の実装を次に示します。

結果は次のとおりです。

エラーがスローされる前に結果が返されることがわかりました。

面白い詳細:
- Get-Website、Get-Item "IIS:\..."、Get-WebBinding はすべて同じエラーになります
- $command をターゲット マシンで直接実行すると、書かれているとおりにエラーが発生しません
- Get-Item "d :\..." はエラーにはなり
ません - COM エラーは発生しません

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

c# - リモート サーバーからの証明書ハッシュの読み取り

次のコードを使用してリモート マシンから証明書ハッシュを取得しようとすると、エラーが発生します。

私が受け取るエラーの詳細:

「binding.certhashbyte」が「System.Runtime.InteropServices.COMException」タイプの例外をスローしました

アプリケーションが WSAStartup を呼び出していないか、WSAStartup が失敗しました。(HRESULT からの例外: 0x8007276D)

次の行を置き換えると:

ローカルサーバーを使用するには、正常に動作します。

ServerManager.OpenRemote(Hostname) の使用は一般的に機能することに注意してください (他のすべての情報を取得しますが、CertHash 情報のみがエラーになります。両方のマシン (ローカルとリモート) で管理者権限を持っています。システムは IIS 7.5 を使用する Windows 2008 R2 です) .

私が間違っていること/不足していること/エラーが発生する理由を教えてください。

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

.net - WSAStartup に失敗しました

ねえ、

ソフトウェアに奇妙な問題があります。ソケットを介して通信するカスタム ミドルウェアがあります。2003 および 2008 OS の両方の 50 以上のサーバー、クラスターで正常に実行されます。ミドルウェアを使用する開発者の希望に応じて、開発者のワークステーション (Microsoft XP) にミドルウェアのバージョンを展開することがあります。

いくつかのワークステーションで次のエラーが発生します。

アプリケーションが WSAStartup を呼び出していないか、WSAStartup が失敗しました

この問題を抱えているのはワークステーションの約 1% だと思います: 全員が同じマシンを持っていて、そのマシン上のソフトウェアは異なる可能性があり、他のツール、開発、.....

これをバグ修正する方法を知っている人はいますか? または、このエラーが発生する理由をどのように取得できますか? 私たちのミドルウェア コンポーネントは、サーバー (そのような問題は一度もありませんでした) やその他のマシンで既に 5 年以上実行されているため、コードでのソケットの使用が間違っているとは思いません。

敬具、

ジョナサン

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

c++ - MinGW + Boost: `WSAStartup@8'への未定義の参照

以下は私が実行するものです

D:\Just4Fun\software\>make -f Makefile.hands stest
g++.exe -g -D_WIN32_WINNT=0x0601 -ID:\Boost\boost_1_51_0 -LD:\Boost\boost_1_51_0\stage\lib -LD:\MinGW\lib -lboost_system-mgw46-d-1_51 -lboost_filesystem-mgw46-d-1_51 -lboost_iostreams-mgw46-d-1_51 -lws2_32 -lwsock32 -o TestSerial.exe TestSerial.cpp

以下はその結果です

C:\Users\oleg\AppData\Local\Temp\ccXpC7RG.o: In function 'ZN5boost4asio6detail17winsock_init_base7startupERNS2_4dataEhh': D:/Boost/boost_1_51_0/boost/asio/detail/impl/winsock_init.ipp:39: undefined reference to 'WSAStartup@8'C:\Users\oleg\AppData\Local\Temp\ccXpC7RG.o: In function 'ZN5boost4asio6detail17winsock_init_base7cleanupERNS2_4dataE': D:/Boost/boost_1_51_0/boost/asio/detail/impl/winsock_init.ipp:48: undefined reference to 'WSACleanup@0' collect2: ld returned 1 exit status make: *** [stest] Error 1

以下は、言及されたsymoblsに関してライブラリをチェックした結果です(適切な方法でフォーマットできませんでした)

`d:\ MinGW \ lib> nm -C libws2_32.a | grep WSAStartup
00000000 T WSAStartup @ 8
00000000 I imp _WSAStartup @ 8

d:\ MinGW \ lib> nm -C libws2_32.a | grep WSACleanup
00000000 T WSACleanup @ 0
00000000 I imp _WSACleanup @ 0

d:\ MinGW \ lib> nm -C libwsock32.a | grep WSACleanup
00000000 T WSACleanup @ 0
00000000 I imp _WSACleanup @ 0

d:\ MinGW \ lib> nm -C libwsock32.a | grep WSAStartup
00000000 T WSAStartup @ 8
00000000 I imp _WSAStartup @ 8`

ご覧のとおり、ライブラリにはシンボルが存在し、ライブラリは対応する-Lコマンドラインオプションで参照される場所にあります。
では、なぜ「未定義の参照」????

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

c# - 「アプリケーションが WSAStartup を呼び出していないか、WSAStartup が失敗しました」とはどういう意味ですか?

ネットワーク経由で Web サーバーに接続するソフトウェアを開発しようとしています。ソフトウェアを保護するためにドングルを使用するまでは、すべて正常に動作します。私のドングルにはいくつかのネットワーク機能があり、ネットワーク インフラストラクチャの下で API が動作します。wドングル チェック コードをプログラムに追加すると、次のエラーが発生しました。

例外をスローするコードのブロックを配置します。私が例外を得たシナリオは次のとおりです。プログラムにログインし(すべて正常に動作)、ドングルを差し込むと、プログラムが停止してドングルを要求し、ドングルを再度差し込んでログインしようとしましたが、オンラインで例外が発生しました

応答 = (HttpWebResponse)request.GetResponse();

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

cmd - blat コマンドを実行してメールを送信すると、サーバーに接続できません (winsock.dll エラー 10060 の場合はタイムアウト)

コマンドからメールを送信するためのコマンドラインツールであるBlatを使用しています。

まず、インストール コマンドを実行してメール サーバーを保存し、レジストリにエントリを作成します。

ここに画像の説明を入力

最初に SMTP サーバーをsmtp.mail.yahoo.comに設定しましたが、エラーは同じでした。

その後、私は実行します

その後、このエラーが発生しました.......