問題タブ [network-programming]
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.
java - なぜSocketChannelの書き込みは、非ブロッキングソケットでも常に全量が完了するのですか?
WindowsでSunJavaVM 1.5または1.6を使用して、ノンブロッキングソケットを接続します。次に、ByteBuffer
出力するメッセージをaに入力write()
し、SocketChannelに送信しようとします。
書き込まれる量がソケットのTCP出力バッファーのスペースの量よりも大きい場合、書き込みは部分的にしか完了しないと思います(これは直感的に期待できることであり、ドキュメントについての私の理解でもあります)が、そうではありません起こります。数メガバイトであっても、write()
常に書き込まれた全量を報告するように見えます(ソケットのSO_SNDBUFは8KBで、私の数メガバイトの出力メッセージよりはるかに少ないです)。
ここでの問題は、出力が部分的に書き込まれる場合(WRITE
セレクターにインタレストセットを登録しselect()
、残りが書き込まれるまで待機する)を処理するコードをテストできないことです。起こる。何がわからないの?
java - J2ME で文字列を読み取るにはどうすればよいですか?
MIDP 2.0 (JSR 118) を使用していますが、J2ME に文字列のリーダーがないことに気付きました。
InputStream
プラットフォームに依存しない方法で (つまりInputStreamReader
、異なるモデルの 2 つの Java 対応携帯電話間で)文字列を読み取る方法を知っている人はいますか?
java - java.net.URLEncoder.encode(String)は非推奨になりましたが、代わりに何を使用すればよいですか?
使用すると次の警告が表示されますjava.net.URLEncoder.encode
:
代わりに何を使うべきですか?
ruby - Rubyでソケットタイムアウトを設定するにはどうすればよいですか?
Rubyソケットでブロック操作のタイムアウトをどのように設定しますか?
network-programming - プログラムによるシスコの管理。Telnet vs SNMP?
最近、同僚のネットワーク エンジニアから連絡がありました。その同僚は、自分のマイナーなネットワーク管理業務をジュニア レベルのヘルプデスク技術者に任せたいと考えています。管理が必要な特定の場所は、単一サイト プロパティのテナントの ISP として機能するため、日常的に多くの小さな調整が行われています。
オンサイトで 32 台の Cisco デバイスを管理するための winform アプリを彼に書いてもらえると助かります。最初に、アクセス制御リスト、ポート VLAN 割り当て、および VLAN ごとの帯域幅制限を変更できる機能を提供したいと思います...価値があると思われるリストにさらに追加します。
私が最初に考えたのは、ネットワーク デバイスでtelnet セッションをエミュレートすることでした。コマンドライン/IOS のやり取りに精通しているネットワーク エンジニアを利用します。私自身、Cisco IOS の規約を学ぶのに必要な時間は最小限です。
解決策を探していると、ほとんどの人が SNMP を好むようです。 それ、または彼らの特定の状況が彼らをSNMPの方向へと駆り立てました。
SNMP の明らかな利点を見落としていないか知りたいと思いました。 SNMP を使用する必要がありますか? なぜですか、そうでないのですか?
c++ - Cでソケット接続の帯域幅をどのように抑制しますか?
BSDソケットを使用してクライアントサーバーアプリを作成しています。バックグラウンドで実行し、データを継続的に転送する必要がありますが、通常の使用からネットワークインターフェイスの帯域幅を占有することはできません。インターフェイスの速度に応じて、この接続を特定の最大転送速度に調整する必要があります。
プログラムでこれを達成するための最良の方法は何ですか?
linux - インターフェイス名から IP アドレスを見つける
Linux ボックスでは、一般的なインターフェイス名は eth0、eth1 などのようになります。または同様の関数を使用して少なくとも 1 つの IP アドレスを見つける方法gethostbyname
は知っていますが、IP アドレスが必要な名前付きインターフェイスを指定する方法がわかりません。の。ifconfig を使用して出力を解析することもできますが、この情報を大々的に調べるのは... 洗練されていないようです。
たとえば、すべてのインターフェイスとその IP アドレス (およびおそらく MAC アドレス) をコレクションに列挙する方法はありますか? または、少なくとも次のようなものgethostbyinterface("eth0")
ですか?
xml - XML 文字列を読み書きする適切な方法
私はかなり長い間この壁に頭を悩ませてきたので、専門家に聞いてみようと思いました.
あるコンピューターから次のコンピューターに xml 文字列を送信する必要があります。xml を次のようにフォーマットしたいと思います。
誰でも助けてもらえますか?
編集:詳細
送信と受信の両方を制御し、ハードコードされた文字列を一方向に正常に転送しました。
受信側は次のとおりです。
ほとんどの場合、これは XML の使用方法を学習する演習であるため、自分の知識以外に本当の目的はありません。そのようなことを行う最善の方法について、いくつかの意見を探していました。
c++ - 最大スループットのための UDP パケットの最適なサイズは?
損失が発生する可能性のあるネットワークを介して、あるホストから別のホストにパケットを送信する必要があります。パケットの遅延を最小限に抑えるために、TCP/IP は考慮していません。しかし、UDP を使用してスループットを最大化したい。使用する UDP パケットの最適なサイズは?
ここに私の考慮事項のいくつかがあります:
ネットワーク内のスイッチの MTU サイズは 1500 です。8192 などの大きなパケットを使用すると、断片化が発生します。1 つのフラグメントが失われると、パケット全体が失われますよね?
小さいパケットを使用すると、UDP および IP ヘッダーのオーバーヘッドが発生します
非常に大きなパケットを使用する場合、使用できる最大サイズは? データグラムの最大サイズは 65507 であると読みました。このようなサイズを送信できるようにするには、どのくらいのバッファ サイズを使用すればよいですか? それは私のスループットを上げるのに役立ちますか?
一般的な OS (Windows、Linux など) でサポートされる典型的な最大データグラム サイズは?
更新しました:
データの受信者の一部は、TCP/IP スタックが実装されていない組み込みシステムです。
この場所には、利用可能なものを使用することに非常に熱心な人がたくさんいることを私は知っています. しかし、MTU だけに注目するよりも、より良い答えが得られることを願っています。
.net - .NET 通信コンポーネント
アプリケーションに必要なネットワーク通信作業の大部分を実行できる C#.NET 2008 Professional のコンポーネントを探しているので、プログラマーは必要ありません。
このコンポーネントは、RealThinClient (RTC) と同じように機能する必要があります。コンポーネントは、接続を正常に切断および回復できる必要があります。暗号化が組み込まれている必要があります。圧縮が組み込まれている必要があります。RTC は接続プーリングも行うことができ、これも実現したいと考えています。
私たちについての簡単な背景: 以前は Delphi 7 ショップでしたが、Visual Studio .NET 2008 を使用するように移行しています。 . :-)
あなたの助けに感謝し、リンクは大歓迎です。
マイケル・ベック