問題タブ [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++ - クライアントからサーバーに送信されたパケットの数を数えますか?
したがって、Win32プログラミングとソケットに関する割り当てはほぼ完了しましたが、転送に関するいくつかの統計を生成して分析する必要があります。私が問題を抱えている唯一の部分は、クライアントからサーバーに送信されたパケットの数を把握する方法です。
送信されるデータは可変長である可能性があるため、受信した合計バイト数を#define'd値で除算することはできません。
すべてを行うには非同期呼び出しを使用する必要があるため、サーバーのソケットに対して受け取るFD_READメッセージごとにカウンターをインクリメントしようとしています。ただし、潜在的に大きなファイルサイズを受け入れる必要があるため、約64kのバッファーサイズでrecv/recvfromを呼び出す必要があります。小さなパケット(az)を送っても問題ありません。しかし、1024文字の文字列を10x送信すると、サーバーは2つまたは3つのパケットを受信したと報告しますが、送受信されたバイト数に関しては0%のデータ損失があります。
パケット数を取得する方法はありますか?
前もって感謝します :)
delphi - TServerSocket アプリを D5 から D2007 に移行する方法はありますか?
Google で簡単に調べてみましたが、何も見つかりませんでしたが、質問する必要があると感じています。私は本当に何かがあるとは思っていませんが、すべてがうまくいかないときに質問をして、誰もが「落とし穴」について知っていることを発見するよりも、今答えのない質問をしたいと思います...!
全体的なサポート/開発作業を容易にする (および madExcept などを導入する) ために、D5 で記述された半 GUI アプリ (NativeDB を使用して ASA6 に接続) を D2007 に移植し、最終的にそれを有効にしようとしています。コンソールアプリおよび/またはサービスに。(現在の GUI は、美化された開始/停止ボタンとアクティビティ ログにすぎません)。
これは古典的な TServerSocket アプリケーションであり、指定されたポートでリッスンし、クライアントが接続したときにさまざまなことを実行します。NativeDB 側で大きな問題が発生するとは考えていませんが、TServerSocket に関する限り、D5 と D2007 の間に変更 (バグ修正、改善) があるかどうか疑問に思いました。
Indy などのブロッキング ソケットは使用しません。これは、D5 Enterprise ボックスから直接取り出した、scktcomp ユニットの TServerSocket だけです。D2007 で TServerSocket に大きな問題がない限り、コードを大幅に変更するつもりはありません。:-)
java - java.net.SocketExceptionをハントダウン:使用可能なバッファスペースがありません
こんにちは私は非常に醜い問題を抱えています:java.net.SocketException:使用可能なバッファスペースがありません(最大接続に達しましたか?)これはクライアントサーバーアプリです。クライアントはWindowsXPSP2 32bで、2つのネットカードコアデュオがあります。Java1.6。u7。アプリケーションでは、ローカル通信用にカップルサーバーソケットが開いており、rmiからjbossサーバーへのクライアントソケットがいくつかあります。
数時間/日後!サーバーとの通信を行うために新しいクライアントソケットを開くことができません。サーバーソケットは引き続き機能します。
Windows netstatは、130から150の接続を示します。手動で試してみると、約3500の接続後にバッファを使い果たしました!
私は試した:
Javaを再起動すると、新しい接続を開くことができます。
全体の例外:
--edited
ついに、SNMPサーバーの誤動作に関する問題が発生しました。以下のコメントにメモを書きました。手伝ってくれてありがとう。
c++ - C ++ Winsock P2P
シナリオ
Winsockを使用したC++でのピアツーピア(p2p)ネットワーキングの良い例はありますか?これは、特にこのテクノロジーを使用する必要があるクライアントにとっての要件です(神はその理由を知っています)。これが実行可能かどうかを判断する必要があります。
どんな助けでも大歓迎です。
編集
また、基礎となるソースコードを理解し、さらに知識を深めるために、ライブラリの使用は避けたいと思います。
c++ - tcp 経由で転送されるファイルの末尾にある余分な改行
recvfile.py と sendfile.cpp という 2 つのプログラムがあります。新しいファイルの最後に余分な改行文字がたくさんあることを除いて、それらは機能します。余分なスペースがどのようにそこに到達するのかわかりません。Python の sendall() 関数を使用してファイルを送信しても同じことが起こらないため、問題は送信者側にあることがわかっています。
ファイルは次のとおりです。
jmm_sockets.c
sendfile.cpp:
最後に、recvfile.py:
networking - winsock を使用した LAN ゲーム サーバーのスキャン
winsockets を使用して、自分のゲームを LAN でプレイできるゲームに変える方法を見つけようとしています。winsockets のドキュメントをいくつか読みましたが、クライアントが LAN 上で作成されたすべてのゲームを取得する方法がわかりません。
192.168.0.1 に接続してから 192.168.0.2 に接続するなど、LAN 上の各 IP に「接続」する必要がありますか? より良い方法はありますか?
c++ - 重複した WSARecv() コールバックが MFC アプリで呼び出されない
オーバーラップ ソケット I/O を使用する、ATL を使用して C++ で実装された COM コンポーネントがあります。サーバーへの接続が確立された直後に、次のようなコードを使用して、ソケットでオーバーラップ読み取りを開始します。
そして、次のようなコールバック関数があります。
この COM コンポーネントは、単体テスト、コマンド ライン アプリで使用する場合、および .NET GUI アプリで (COM 相互運用機能を介して) 使用する場合に正常に動作します。ただし、MFC アプリでこのコンポーネントを使用するRecvCallback
と、サーバーがデータを送信するときに が呼び出されることはありません。
WSARecv()
非同期オーバーラップ読み取りで予想されるように、return SOCKET_ERROR
、およびreturns 。WSAGetLastError()
WSA_IO_PENDING
SysInternals TcpView アプリを使用して何が起こっているかを監視すると、クライアントがデータを受信していることがわかります。しかし、コールバックが呼び出されることはありません。
接続されたソケットを介してサーバーにデータを送信すると、正常に機能します。
MFC アプリのメソッドでCoInitializeEx()
andを呼び出しています。WSAStartup()
InitInstance()
何か案は?
visual-c++ - MFC (VC++) で与えられた IP からドメイン名を取得するには?
MFC (VC++) で与えられた IP からドメイン名を取得する方法は? 私が使用しているコードは次のとおりです。
このコードは、ドメイン名ではなく = 255.255.255.255 としてホスト名を返しています。