問題タブ [winsockets]
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.
c++ - UDPrecvfromスレッドがCPUリソースを使いすぎています
私は、3.6 MB/sのUDPデータグラムを受信するWindows7VisualC++サーバーアプリケーションを作成しています。recvfrom()がデータを受信するメインスレッドがあります。ソケットは非ブロッキングソケットであり、64kBの受信バッファーがあります。ソケットでデータが受信されていない場合、スレッドはsleep(1)を実行します。
私の問題は、スレッドがデュアルコアプロセッサのほぼ50%を使用していて、どうすればそれを減らすことができるかわからないことです。Wiresharkはその20%しか使用していないので、私の主な目標は同様の割合を達成することです。
あなたはなにか考えはありますか?
c - winsockで奇妙な文字/記号を受信する
Winsockについて学び、単純な文字列を送受信するときに奇妙な問題が発生することを学びました。これが私のコードです(純粋なC):
クライアント:
サーバ:
問題は、サーバーが私の文字列といくつかの奇妙な記号を出力することです(写真を参照)。
ストリームソケットを使用しています。例は非常に単純なので、何が間違っているのかわかりません。文字列またはサーバーのバッファサイズ、あるいはその両方をランダムに変更すると、問題は解消されます(サーバーは文字列をOKで出力します)。send()呼び出しでstrlen()の代わりにsizeof()を使用すると、問題が修正されます。ここで少し迷子になりました。私が何かを逃した場合は親切にしてください、これはここでの私の最初の投稿です。コード全体(基本的にはwinsockの開始とソケットの定義)を提供できます。
sockets - FD_SIZEおよびアプリケーションがWindowsで使用できるソケットの最大数
32ストリームの制限に達しているWindowsでストリーミングサーバーを使用しています。msdn http://support.microsoft.com/kb/111855に関する次の記事に基づいて、理由はFD_SETサイズであり、winsockではデフォルトで64になっていることがわかりました。
FD_SETサイズを128に増やすと、より多くのチャネルをストリーミングできるようになります。
問題は、1。FD_SETサイズを増やしても安全ですか?2. FD_SETサイズを大きくすると、ソケットの可用性が保証されますか?3. FD_SIZEは動的に設定できますか、それともコンパイル時にのみ設定できますか?プログラムで最大制限とは何ですか?
ありがとう。M..。
c# - オブジェクト参照がオブジェクト ボタン プレス イベントのインスタンスに設定されていません
エラー メッセージが表示され、修正方法がわかりません。これは私が持っている元のコードです:
エラーメッセージは(ボタンプレスイベント)です
オブジェクト参照がオブジェクト インスタンスに設定されていません。
このエラー メッセージが表示される理由と修正方法を教えてください。
mfc - Winsock 送信受信バッファ サイズ
クライアント/サーバー シナリオを実装する MFC アプリを作成し、そのために Win ソケットを使用しています。「こんにちは」などの小さなメッセージを送受信できます。また、サイズ 1000 のバッファで試しました。ただし、サイズをさらに大きくすると、ハングします。エラーもスローしません。
問題が何であるかについて何か考えはありますか?winsock で送受信できるバッファの最大サイズに制限はありますか? 私はこれの初心者で、以前は winsock を使用したことがありません。
c++ - MFC doc/view アーキテクチャによる winsock クライアントの作成
ドキュメント/ビューアーキテクチャを備えたMFCで作成されたゲームTicTacToeがあり、winsocketを備えたサーバー(標準コンソールアプリケーション)があります。サーバーに接続するためにクライアントのソケットをどこで初期化する必要がありますか? (Csocket なしで、まさに winsock でなければなりません)。winsocket の作成方法は知っていますが、ドキュメント/ビュー アーキテクチャで作成する必要がある場所がわかりません。(私が知っているのは、「InitInstance」で「WSADATA wsaData」を初期化することだけです)
c++ - winsock で IP ごとの接続を制限する
winsock で IP ごとの接続をどのように制限しますか?
IP ごとに 20 接続に制限し、制限に達すると接続を受け入れないようにしたいとしましょう。
これを行う際のロジックが思い浮かびません。
私は、接続を受け入れる前に各IPを使用callbacks
しWSAAccept()
てデータベースにログインし、確立された接続ごとにデータベースにリストすることを考えました。
しかし、これを行うより効率的な方法はありますか?