0

java.net を使用して、Java でサーバーとクライアント間の接続を確立しようとしています。なんとか接続できましたが、データを送信できませんでした。コードと出力を貼り付けました:

サーバーコード:

ServerSocket welcomeSocket = new ServerSocket(999);
Socket connectionSocket = welcomeSocket.accept();
System.out.println("Connected to: " + connectionSocket.toString());
DataOutputStream outToClient = newDataOutputStream(connectionSocket.getOutputStream());
outToClient.writeBytes("Testing connection");

クライアントコード:

Socket clientSocket = new Socket("130.236.248.52", 999);
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
modifiedSentence = inFromServer.readLine();
System.out.println("[From server:] " + modifiedSentence);

サーバー出力: 接続先: Socket[addr=/130.236.248.54,port=51535,localport=999]

クライアント出力:

4

2 に答える 2

1
  1. a を使用BufferedWriterしてテキストを書き込みます (BufferedReader を使用してテキストを読み取るのと同じように)
  2. ライターを呼び出しflush()て、出力を強制的に通過させます
  3. クライアント側で呼び出す場合はreadLine()、読み取る行末が必要です。
    BufferedWriter outToClient = new BufferedWriter(new OutputStreamWriter(connectionSocket.getOutputStream()));
    outToClient.write("接続のテスト");
    outToClient.newLine();
    outToClient.flush();
于 2013-04-06T09:12:30.650 に答える
0

あなたは行を読んでいますが、行を書いていません。行末記号を追加するか、println() メソッドをエクスポートするクラスの 1 つを使用して呼び出す必要があります。

于 2013-04-06T09:40:33.477 に答える