クライアントとサーバ端との通信をsocketで実現し、クライアントがデータを送信した後に同じデータを再現できるように要求する。
4964 ワード
クライアントとサーバ側の通信は、クライアントがデータを送信した後に同じデータを返すことができるように要求されます。
分析:サーバ端末は、ServerSocket を使用することができます。クライアントは、ソケットコードを使用して以下のように実現することができる。
サーバ端コード:
分析:
サーバ端コード:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
BufferedReader bReader=null;
PrintWriter pWriter=null;
try {
ServerSocket server = new ServerSocket(2000);
Socket socket = server.accept();
//
bReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
//
pWriter = new PrintWriter(socket.getOutputStream(),true);
//
String string= bReader.readLine();
//
pWriter.println(string);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally {
try {
bReader.close();
pWriter.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
}
}
クライアントコード:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class Client {
public static void main(String[] args) {
BufferedReader brc = null;
PrintWriter pwc = null;
try {
Socket socket = new Socket("127.0.0.1",2000);
brc = new BufferedReader(new InputStreamReader(socket.getInputStream()));
pwc = new PrintWriter(socket.getOutputStream(),true);
pwc.println("Hello");
String sc = null;
while (true) {
sc = brc.readLine();
if (sc!=null) {
break;
}
}
System.out.println(sc);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally {
try {
brc.close();
pwc.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}