タグ付けされた質問 「sockets」

双方向のプロセス間通信フローのエンドポイント。これは多くの場合、ネットワーク接続を介したプロセスフローを指しますが、これに限定されるものではありません。WebSocket(プロトコル)または他の抽象化(例:socket.io)と混同しないでください。


2
SO_REUSEADDRとSO_REUSEPORTの違いは何ですか?
man pagesソケットオプションのプログラマドキュメンテーションSO_REUSEADDRとはSO_REUSEPORT異なるオペレーティングシステムごとに異なると、多くの場合、非常に混乱しています。一部のオペレーティングシステムには、オプションさえありませんSO_REUSEPORT。WEBはこの主題に関する矛盾する情報でいっぱいであり、多くの場合、特定のオペレーティングシステムの1つのソケット実装にのみ当てはまる情報を見つけることができます。 では、正確にはどのようにSO_REUSEADDR違うのですSO_REUSEPORTか? SO_REUSEPORT制限のないシステムはありますか? また、異なるオペレーティングシステムでどちらかを使用した場合、予想される動作は正確には何ですか?



6
ノード上のクライアント:キャッチされていないReferenceError:requireが定義されていません
したがって、私はnode / express + jadeコンボを使用したアプリケーションを作成しています。 私が持っているclient.jsクライアントにロードされています、。そのファイルには、他のJavaScriptファイルから関数を呼び出すコードがあります。私の試みは使用することでした var m = require('./messages'); messages.js(サーバー側で行うのと同じように)のコンテンツをロードし、後でそのファイルから関数を呼び出します。ただし、requireクライアント側では定義されておらず、フォームのエラーをスローしますUncaught ReferenceError: require is not defined。 これらの他のJSファイルも、リンクをWebページのヘッダーに配置するため、ランタイムでクライアントに読み込まれます。したがって、クライアントはこれらの他のファイルからエクスポートされるすべての関数を知っています。 サーバーへのソケットを開くmessages.jsメインclient.jsファイル内の他のJSファイル(など)からこれらの関数を呼び出すにはどうすればよいですか?

18
Javaを使用して現在のマシンのIPアドレスを取得する
異なるシステムまたは同じシステムの異なるポートで実行される異なるノードがあるシステムを開発しようとしています。 これで、すべてのノードが、ブートストラップノードと呼ばれる特別なノードのIPとしてターゲットIPを持つソケットを作成します。次に、ノードは独自のノードを作成しServerSocket、接続の待機を開始します。 ブートストラップノードは、ノードのリストを保持し、照会時にそれらを返します。 次に必要なのは、ノードがブートストラップノードにIPを登録する必要があることです。cli.getInetAddress()クライアントServerSocketがブートストラップノードのに接続したら使用しましたが、機能しませんでした。 可能であれば、クライアントにPPP IPを登録する必要があります。 それ以外の場合は、LAN IPがあればそれを使用します。 それ以外の場合は、同じコンピュータを想定して127.0.0.1を登録する必要があります。 コードの使用: System.out.println(Inet4Address.getLocalHost().getHostAddress()); または System.out.println(InetAddress.getLocalHost().getHostAddress()); 私のPPP接続IPアドレスは117.204.44.192ですが、上記では192.168.1.2が返されます 編集 次のコードを使用しています。 Enumeration e = NetworkInterface.getNetworkInterfaces(); while(e.hasMoreElements()) { NetworkInterface n = (NetworkInterface) e.nextElement(); Enumeration ee = n.getInetAddresses(); while (ee.hasMoreElements()) { InetAddress i = (InetAddress) ee.nextElement(); System.out.println(i.getHostAddress()); } } すべてNetworkInterfaceのに関連付けられているすべてのIPアドレスを取得できますが、どのようにしてそれらを区別できますか?これは私が得ている出力です: 127.0.0.1 192.168.1.2 192.168.56.1 117.204.44.19
291 java  sockets  ip 

14
Node.jsのエラーECONNRESETをデバッグするにはどうすればよいですか?
チャットWebアプリケーションにSocket.ioを使用してExpress.jsアプリケーションを実行していますが、24時間の間に次のエラーがランダムに約5回発生します。ノードプロセスは永久にラップされ、すぐに再起動します。 問題は、Expressを再起動すると私のユーザーが部屋から追い出され、誰もそれを望まないということです。 WebサーバーはHAProxyによってプロキシされます。ソケットの安定性の問題はなく、websocketとflashsocketsトランスポートを使用するだけです。これを故意に再現することはできません。 これはNodeのエラーv0.10.11です: events.js:72 throw er; // Unhandled 'error' event ^ Error: read ECONNRESET //alternatively it s a 'write' at errnoException (net.js:900:11) at TCP.onread (net.js:555:19) error: Forever detected script exited with code: 8 error: Forever restarting script for 2 time 編集(2013-07-22) socket.ioクライアントエラーハンドラーとキャッチされない例外ハンドラーの両方を追加しました。これはエラーをキャッチしているようです: process.on('uncaughtException', function (err) { console.error(err.stack); console.log("Node NOT …
288 node.js  sockets  tcp  express 

17
2つのアプリケーションが同じポートをリッスンできますか?
同じマシン上の2つのアプリケーションを同じポートとIPアドレスにバインドできますか?さらに一歩進んで、あるアプリが特定のIPからのリクエストをリッスンし、別のアプリが別のリモートIPへのリクエストをリッスンできますか?1つのアプリケーションで2つのスレッド(またはフォーク)から開始して同様の動作をさせることはできますが、共通点のない2つのアプリケーションでも同じことができますか?
283 sockets  tcp  udp  port  communication 


8
ソケットを閉じるかシャットダウンするか?
Cでは、ソケットを閉じると、ソケットが破棄され、後で再利用できることを理解しました。 シャットダウンはどうですか?説明は、そのソケットへの二重接続の半分を閉じると述べています。しかし、そのソケットはcloseシステムコールのように破棄されますか?
214 c  sockets  networking 


10
インターネットで最大の安全なUDPパケットサイズ
UDPパケットサイズに関する多くの記事を読みましたが、何が正しいかについて結論を出すことができませんでした。 多くのサービスは、最大のUDPパケットを512バイト(dnsなど)に制限します インターネット上の最小MTUが576で、IPv4ヘッダーのサイズが20バイト、UDPヘッダーが8バイトであるとします。これにより、ユーザーデータ用に548バイトが使用可能になります パケットを断片化せずに548サイズまでのパケットを使用できますか?または、DNSの作成者が知っていた何かがあり、それが彼らが512バイトに制限した理由です。 安全に548バイトを超えることもできますか?
201 networking  sockets  udp  ipv4 

5
AF_INETとは何ですか。なぜ必要なのですか。
私はソケットプログラミングを始めており、これを見続けていAF_INETます。 しかし、その場所で他に使用されているものを見たことがありません。私の講師はあまり役に立たず、「あなたはそれが必要だ」とだけ言っています。 だから私の質問: の目的はAF_INET何ですか? それの代わりに他に何か使用されたことがありますか? そうでない場合、なぜそこにあるのですか?将来起こりうる変更について もしそうなら、何を、そしてなぜ?
201 sockets 


16
利用可能なポートを見つける方法は?
ポートをリッスンするサーバーを起動したいのですが。私は明示的にポートを指定することができ、それは動作します。しかし、私は自動的にポートを見つけたいと思っています。この点で2つの質問があります。 どのポート番号の範囲で検索する必要がありますか?(ポート12345、12346、12347を使用しましたが、問題ありませんでした)。 特定のポートが別のソフトウェアによって占有されていないかどうかを確認するにはどうすればよいですか?
194 java  networking  sockets  port 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.