問題タブ [serversocket]
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 - How can I get a SocketServer in Java to Block the port in use?
This is my first question here, I'm going to try and give as much info as I can.
I have a local installation of Apache 2.2 installed on my PC. I have it default to bind to port 100 (Don't ask me why). When I run Apache, I cannot create a socket server with port of 100 because this port is already in use. What I want to do is duplicate this functionality in a Java Server I'm writing.
Currently, I create a socket server like this:
The problem is, this doesn't block other applications from using this port. I can run more then one copy of my Java application, or even start my Apache server after this. I want the java Server Socket to mimic the behaviour of Apache and block other applications from binding to the chosen port.
I tried using Google, and the only thing I could find was this http://www.dreamincode.net/forums/topic/124376-block-port/ which implies that creating a socket server as shown above should block the port from use in other applications.
I'm using Windows 7 Ultimate-64bit, NetBeans IDE 6.9.1, and Java 1.6.0_23.
Thanks user658991,
It appears that the port will not be blocked until after a client connects or unless I call ServerSocket.accept();
actionscript-3 - AIR アプリケーションが ServerSocket の起動に失敗してから公開される
奇妙な問題が発生したため、AIR アプリケーションを Dev モードでテストしました。動作中の ServerSocket オブジェクトが作成されます。また、通常はサーバーとして機能します。AIR アプリとしてパッケージ化して Windows にインストールすると、機能しなくなります - 指定されたポートにサーバーが作成されません...
コード: svn チェックアウトhttp://logmaster.googlecode.com/svn/trunk/
サンドボックスの問題ですか?解決方法は…?または、生成された証明書を使用している可能性がありますか?
ご協力いただきありがとうございます。
java - RMI exportObjectのクライアントソケットファクトリ?
RMIにカスタムソケットを使用する場合(SSLを使用する場合など)、UnicastRemoteObject.exportObject(4)で、サーバーソケットファクトリだけでなくクライアントソケットファクトリも指定する必要があります。ただし、オブジェクトのエクスポートはサーバー側で行われます。クライアントソケットファクトリが必要なのはなぜですか?
そのオブジェクトへの接続を取得したいクライアントによってシリアル化されて使用されていない限り... 私はそれがありそうもないと思います(それは答えかもしれませんが)。(SSL)ソケットファクトリは、キーストアがローカルであるなど、シリアル化可能なオブジェクトの典型的な例のようには聞こえません。
java - 複数のクライアントを持つ Java SocketServer - StreamCorruptException
アプリケーション
ObjectStream クラスを使用してソケットを介してオブジェクトを送信することで通信するクライアント/サーバー アプリケーションを Java で作成しています。アプリケーションの各ノードは、おおよそ次のようになります。
ここで、server
変数はこのノードがリッスンするソケットであり、client
変数は他のノードがリッスンし、このノードがオブジェクトを送信するソケットです。
クライアント ソケットの 1 つにオブジェクトを書き込むために使用するコードは、次のようになります。
接続を処理し、ノードのサーバー ソケットからオブジェクトを読み取るために使用するコードは、次のようになります。
問題
ここのソケットに何か問題があると思います。すべてのサーバーが単一のクライアントにのみ接続されている場合、すべてが正常に機能します。ただし、複数のクライアントが同じサーバーと通信している場合、事態は悪化し、ObjectInputStream から StreamCorruptedException が発生し、その他の奇妙な動作 (UpdateRequest メッセージのインスタンスを挿入し、Integer(0) のインスタンスといくつかの例外を取得する) が発生します。例えば。)
私の直感では、2 つのオブジェクト/バイト ストリームが何らかの形で混ざり合っており、オブジェクトを逆シリアル化しようとすると奇妙な結果が生じることがわかります。私の質問は、なぜこれが起こっているのか、何が間違っているのか、どうすれば修正できるのでしょうか?
flash - AIR ServerSocketのサーバー側にXMLSocketを設定するにはどうすればよいですか?
AIRで作成するソフトウェアはサーバーとクライアントの2つです。AS3とAIRの両方。
リモート共有オブジェクトを使用した大きなアーキテクチャを使用したり、BlazeDSを使用したり、Java / Python/...サーバーを途中で設定したりする必要はありません。
サーバー側とクライアント側でソケットデータを解析する必要をなくすために、クライアント側でXMLSocketを使用することを考えました。データはFlashフレームワークによってすでに解析されている方法で到着します。
ただし、このXMLSocketをAIR ServerSocketで使用すると、「connect」イベントによってサーバー側でrawSocketが返されます。そのため、サーバー側でXMLデータを手動で管理する必要があります。
サーバー側でXMLSocketを使用してクライアントと通信する方法はありますか?返されたソケットをXMLSocketに変換するための一種のトリック?
それを管理するAS3ライブラリがある場合、私はそれを見つけられませんでした。
ありがとうございました!
python - Pythonでソケットの正常なシャットダウンを検出する
サーバーソケットがPythonで正常にシャットダウンされたかどうかを判断しようとしています。
プログラムはファイルを受信しました。送信中にエラーが発生した場合は、ファイルを削除する必要があります。
最初の提案は、ファイルの長さまたはいくつかの終了データをクライアントに送信させて、ファイル転送が完了したことをサーバーに通知することです。
残念ながら、クライアントを変更することはできません。ファイルをraw tcpにダンプするだけで、それについては何もできません。ですから、「でも、変更できれば」や「プロトコルに欠陥がある」ということはありません。私はプロトコルを作成しなかったので、対処する必要があります。
スクリプトはOSXとLinuxの両方で機能するはずなので、epollは使用できません。
助言がありますか?
どのエラーが発生したかは気にせず、エラーが発生しただけだと付け加えることができます。
c# - ソケットプログラミング:サーバー
さて、私は自分自身にいくつかのソケットプログラミングを教えようとしてきました。私は非同期サーバーを使用して小さなC#アプリケーションを作成しましたが、次の点を除いて、ほとんどのことを理解しています。
したがって、サーバーには接続をリッスンするポートがあり、接続を受信すると、通信を行うための別のソケットを作成します。これは私が理解していないことです...理論的にはクライアントがこの新しい接続にどのポートが選択されているかわからない場合、クライアントとサーバー間の通信はどのように行われますか?
すべての回答をありがとう
編集:リスニングスレッドがデフォルトのポートでリッスンしていることを理解している限り、すべてのメッセージはクライアントごとに異なるソケットで処理されますか?
もう一度編集してください:皆さんが私の質問をどのように誤解しているのか。通常のソケット通信を理解しています。私の問題は、リスニングソケットが接続ソケットとは異なる非同期サーバーにあります。つまり。
- サーバーはデフォルトポートでリッスンします
- クライアントは接続を試みます。
- サーバーレシーバー要求。
- 次に、サーバーはクライアントとサーバーの間に通信ソケットを作成し、デフォルトのポートでリッスンを続けます。
私の問題は最後のステップです。クライアントは、新しいソケットで通信する方法をどのようにして知ることができますか?ここにいくつかのサンプルコードがあります http://msdn.microsoft.com/en-us/library/5w7b7x5f.aspx
google-app-engine - Google App Engine、Amazon EC2、およびソケット
私が知っているようにGAE
、は生のTCP/IPソケットの使用をサポートしていませんjava.net.ServerSocket
。他に使用できる有名なクラウドサービスはありますか?例Amazon EC2
?
クライアントアプリケーションには、サーバーへの永続的なTCP接続が必要です...
どうもありがとうSTeN
tomcat - Tomcat と java.net.ServerSockets
java.net.ServerSockets
サーバーでの使用をブロックするものはありTomcat
ますか? 私が理解しているように、Tomcatは主にhttpベースの通信サーブレットに使用されますが、生のソケットも使用できますよね?
よろしく、 STeN
java - Tomcat for Java Server Based on sockets に関する質問
VPS サービス (Linux ベース) をネット経由で購入したかどうかを知りたいです。
Java ベースのサーバー (ソケット サーバー) を起動するには、Tomcat をインストールする必要がありますか? はいの場合、必要なバージョンはどれですか。また、Linux ベースの VPS にインストールして実行する方法に関するオンライン ガイドのリファレンスを教えてください。
ありがとう