問題タブ [sendto]
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++ - より高速なWinSocksendto()
私はWindowsServer2008を使用しており、プログラムはC++です。パケットを送信するために、while(true)ループでWinSock2とsendto()を使用しています。
そのようなコード:
ホストstd::vector内のできるだけ多くのIPにできるだけ早くできるだけ多くのデータを送信する必要があります。
私は現在i7930サーバーで実行していますが、350Mbps程度しか達成できません。
現在、プログラムを4つのスレッドに分割し、すべてがwhileループを実行しており、各スレッドに異なるサーバーが割り当てられています。スレッドを追加したり、プログラムのコピーを実行したりすると、スループットが低下します。
サーバーからの応答をリッスンして実行している別のプログラムがあります。マスターリストからサーバーを取得し、それらをアレイに追加します。現時点での問題は、すべてを確認するのに時間がかかりすぎることです。定期的に確認したいと思います。
ここでプログラム/ループ/送信をどの程度正確に最適化できますか?
linux - TCPソケットがハングしています-両側がsendto()でスタックしています
ハングしているように見えるLinuxアプリケーション(ソースはありません)があります。2つのプロセス間のソケットはESTABLISHEDとして報告され、カーネルソケットバッファーにいくつかのデータがあります(ただし、wmem / rmemを介して構成された16Mにはほど遠いです)。ソケットの両端がsendto()でスタックしているようです。
以下は、netstat/lsofとstraceを使用した調査です。
ホストA(10.152.20.28)
ホストB(10.152.20.29)
NICドライバーを最新かつ最高のものにアップグレードしました。システムはRHEL5.6x64(2.6.18-238.el5)を実行しており、RHEL 5.7および5.8のエラッタを確認しましたが、bnx2ドライバーまたはカーネルのバグについては言及されていません。
誰かがこれをさらにデバッグする方法について何かアイデアがありますか?
c++ - UDP パケットを送信するときの「無効な引数」ですが、どれですか?
私の C++ アプリケーションはバイナリ データを UDP パケットとして送信しています。sendto() 呼び出しは EINVAL (無効な引数) を返しますが、渡すパラメーターに問題はありません。
私はアプリケーションの strace を行いました。ここに、適切なシステム コールがあります。
どのパラメーターが無効であるかを誰かが見ていますか?
アプリケーションは最近 IPv6 をサポートするように移植されましたが、それが何か関係があるかどうかはわかりません。
linux - 合体する TCP メッセージ
ネットワークに書き込みを行う Java アプリケーションがあります。764b、+/- 5b の領域でメッセージを書き込んでいます。pcap は、ストリームが IP フラグメント化されていることを示しており、これを説明することはできません。
Linux 2.6.18-238.1.1.el5
トレースは次を示します。
( strace -vvvv -f -tt -o strace.out -e trace=network -p $PID )
ネットワークをキャプチャすると、MTU よりも大きなパケットが表示され、断片化が発生しています。
質問:
1) サーバーが 2 つの sendto() を 1 つの IP パケットにバッチ処理しようとしているように見えますが、これは MTU よりも大きいため、断片化されています。なんで?
2) PID 2046 の strace 出力を見ると、等号 <... sendto resumed> 行の後の数字は、送信されたものの合計ですか? つまり、764b は、ライン 3 とライン 5 の合計で送信されましたか? それとも、1 行あたり 764 バイトが送信されていますか?
3)すべての sendto() 出力をログに記録するために strace に渡すことができるオプションはありますか? 何も見つからないようです..
javascript - 「Kindleに送信」リンクを実装するにはどうすればよいですか?
私のサイトの現在のページ/記事をユーザーのKindleデバイスに送信するリンクを作成する方法を見つけようとしています。私はそれについて多くを見つけることができませんでした、しかし私はそれをここで見るのでそれができることを知っています:http: //openlibrary.org/works/OL258709W/King_Henry_VIそしてInstapaperはこの機能を提供します、画像を見てください。誰かがこれを行う方法、あるいはどこから始めればよいか知っていますか?
この質問をしている他の投稿を見たことがありますが、それらはしばらく前のものであり、当時は不可能だったため、回答がありませんでしたが、現在は可能です。
c - 一定の UDP トラフィックを生成する方法は?
Ton の時間の間 Ron の送信レートを持つトラフィックを生成する UDP クライアントを C で作成し、Toff の時間の間何も送信を停止し、もう一度繰り返す必要があります。したがって、交差トラフィックは定期的です。私が抱えている問題は、クライアントが一定のレートでロンを送信するようにする方法です。関数 sendto と usleep を使用することを考えました。ただし、sendto には、データを送信するレートを指定する方法がありません。
前もって感謝します。
sockets - sendtoで送信するときにUDPのクライアントにポートを開くように強制する方法
UDP(WinSocks / C ++)の単純なサーバーとクライアントがあります。
sendto経由でデータグラムクライアント->サーバーを送信し、recvfrom関数から取得したIPとポートを使用してサーバーからクライアントに応答します。
私はそれを見出した:
- クライアントからのすべてのsendtoは異なるポートから送信されています
- サーバーから応答しようとすると、WindowsはWSAECONNRESETを返します(これは、ポートが閉じていることを意味します-http ://support.microsoft.com/kb/263823)
サーバーからクライアントに適切に応答するにはどうすればよいですか(つまり、sendtoを使用して送信するときにクライアントにポートバインディングを強制しますか?)
編集:いくつかのソースコードを追加します:
c++ - 使用するrecvcfrom()およびsendto()IPアドレス
実はCで2人でチャットできるようなアプリを作りたいです。彼らが彼らのIPを知っていると仮定しましょう(実際、私はここで間違いを犯していると思います。私はwww.whatismyip.comから私のIPを取得します)。
上記は相手が送信しているものを受信する機能です。「127.0.0.1」がの値である場合はうまく機能しますfrom
が、私のIP(117.193.52.176)を使用すると、別の何かが表示されます。誰かが私がどこが間違っているのか教えてもらえますか?
c - ソケット-Cでアクセスが拒否されました
CのDNSサーバーからMXレコードを取得しようとしています。問題は、sendtoまたはrecvfromを呼び出すたびに、アクセス許可が拒否されたというエラーが発生することです。(IDE-Xcode 4、Mac OS X Lion)これまでCで何もしていませんが、割り当てにはこれが必要です。http://www.binarytides.com/blog/dns-query-code-in-c-with-linux-sockets/からの「インスピレーション」 これまでの私のコード: