java初心者です。
現在javaを使ってサーバとクライアントのsocketプログラムを作っています。
動作としてはサーバ側がクライアントに対して接続するポートを指定し、以後クライアントがサーバに対して通信を行う際には指定されたポート番号を使って通信を行うような動作をさせたいのですがうまくいきません。
そのため、みなさんの知恵を拝借したいのですが、アドバイス等頂けないでしょうか。
また、javaでは実現不可能だとするのでしたら、その理由も詳しく教えていただけると幸いです。
どうぞよろしくお願いします。
No.3ベストアンサー
- 回答日時:
FTP のPASV モードのような振る舞いですね。
であれば、Javaで実装されたFTPサーバのソースが参考になるのではないでしょうか?
例えば http://mina.apache.org/ftpserver/ あたりでしょうか?
ただ、その方式をとるに至った要件が同時アクセスのためのポートの占有回避であれば、
普通に java.net.ServerSocket で実装してしまえば、面倒な事はあまり意識せずに実現できるのではないかと思います。
なるほど、FTPでPASAモードという似たような振る舞いをするものがあったのですか。
そちらについても少し調べて参考にしてみます。ありがとうございます。
そして質問をする以前の状態で質問をしたみたいで申し訳ありませんでした。
とりあえずは他の皆様も言うとおり、もう少し自分で試すなり行なってから質問をするよう心がけます。
No.5
- 回答日時:
No1です。
補足は、
1.クライアントからサーバーのAポートに接続する
2.サーバーから番号Xをクライアントに送る
3.クライアントはサーバーとのセッションを一度切る
4.クライアントからサーバーのXポートに接続する
ということでしょうか?
どこにも難しさは無いと思うのですが、何が難しいのですか?
No.4
- 回答日時:
いや、
具体的っていうのは
うまくいかない、というのはどういうことですか?と
例えば
こういうプログラムを作ってみたけど
この部分でこういうエラーが出ています、
どのようにすれば解決できるでしょうか?
と、
そういうレベルで書かないと答えようがないよということ。
妄想レベルのことをどうでしょうか?と聞かれてもね。
やろうとしていることはJavaであるとか関係なく出来ます。
問題があるとすればJava以外の問題であることが多いでしょう。
任意のポート番号を開くにはOSの権限やセキュリティーソフトの設定などが
必要なことがありますよ。
一部でもいいのでソースをさらすとかしないと
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ノートパソコン ESETの初期インストールの仕方 1 2022/10/14 08:26
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- ドメイン・サーバー・クラウドサービス スカパー(@skyperfectv.co.jpのドメインメール) POPサーバとポートについて @s 1 2023/07/03 11:43
- PHP PHP でメールフォームを作成したい 1 2022/05/04 22:28
- サーバー 無料のレンタルサーバで、スクレイピング(?)はできますか? 2 2022/05/07 10:09
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
- サーバー ログオンユーザーがいない場合に自動再起動 1 2022/09/28 09:53
- オンラインゲーム とても急いでいます。Minecraft Java版についてです。 MinecraftのJava版でマ 1 2023/03/15 21:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UdpClient 送信元のIPアドレ...
-
ソケットを用いた1対多通信につ...
-
ソケット通信 同じポート番号...
-
recv関数でフリーズしてしまう
-
ソケットのrecvの戻り値が0
-
ソケットでクライアントのipア...
-
UDP通信する時に、相手にどうや...
-
SendRequestでヘッダが受信され...
-
WIN32API CreateFileのCOMx
-
ソケット通信の送受信遅延-02 ...
-
UDPで受信スループットを測定
-
空きポートの取得方法
-
Winsockで接続待ちタイムアウト...
-
UDP通信におけるbind関数について
-
TCP/IP通信時のサーバーからの受信
-
どうか、POSTでのファイル転送...
-
VB6‥ソケットについて
-
Winsockプログラミング Connec...
-
株価チャートプログラム
-
SIPがNATを越えられない理由
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TCP/IP通信時のサーバーからの受信
-
UDP通信におけるbind関数について
-
Winsockで接続待ちタイムアウト...
-
recv関数でフリーズしてしまう
-
VB6のwinsockでconnectできない
-
UDP通信する時に、相手にどうや...
-
ソケットのクローズについて
-
エクセル VBA でのCOMポート...
-
ソケットのrecvの戻り値が0
-
UdpClient 送信元のIPアドレ...
-
Socket通信の0バイト受信について
-
WinSockでの通信プログラムがう...
-
同じLAN内パソコンのIPアドレス...
-
ソケット通信 同じポート番号...
-
VC++でのソケット通信について
-
Connectエラーが出てしまう・・...
-
CreateFile関数でCOMポートが開...
-
VB6‥ソケットについて
-
Winsockを使わずにVBでSocketを...
-
SIPがNATを越えられない理由
おすすめ情報