ネットワーク経由でデータを受信できるアプリケーションを構築し、このデータを使用して無関係なことを行う必要があります。
これが私がしていることを明確にするためのコードです。
サーバー側:
static Socket client = null;
static ServerSocket ss = null;
if (ss != null) {
ss.close();
}
ss = new ServerSocket(5513);
isrunning = true;
System.out.println("Waiting for client...");
client = ss.accept();
System.out.println("Client accepted.");
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
そしてクライアント側:
Socket client = null;
PrintWriter out = null;
try {
client = new Socket("hostname", 5513);
out = new PrintWriter(client.getOutputStream(), true);
}
これは単なるコードであることに注意してください。コードにエラーはありません。
サーバー側のコードを実行した後、クライアントが接続するのを正しく待機します。
ここに問題があります。クライアント側から接続しようとすると、「接続が拒否されました」というエラーが発生します。
しかし、インターネット上で、クライアント側からtelnetを試してみるように言われたものを見つけました。たとえば、サーバー側のIPを192.168.1.1とします。したがって、このコマンドを使用した後:
telnet 192.168.1.1 5513
私は実際にサーバーとの接続を取得します。コマンドは空の画面を起動し、コマンドラインで手動で入力したものはすべて、Enterキーを押した後にサーバー側に送信されます(デバッグでチェックされます)。
そのため、サーバー側に手動で接続してデータを送信することはできますが、コードが接続を拒否します。
私が間違っていることを知っている人はいますか?