소켓 프로그래밍을 사용하여 다중 스레드 채팅 프로그램을 구현하고 포트 9977을 사용하며 서버가 두 개의 스레드(수신 하나, 출력 하나)를 사용하도록 요구합니다.
소통에는 절대적인 서버와 클라이언트가 없습니다. 다른 사람이 오기를 기다리는 사람이 서버이고, 먼저 사람을 접촉하는 사람이 클라이언트입니다.
그래요.
클라이언트가 메시지를 수락하도록 하려면 클라이언트를 시작할 때 클라이언트 프로그램에서 포트를 제공하는 소켓을 시작하기만 하면 됩니다.
ServerSocket serverSocket = new ServerSocket(5000);
while (true) {
final Socket 소켓 = serverSocket.accept();
new Thread() {
소켓 mySocket = 소켓;
@Override
public void run() {
try {
System.out.println(mySocket);
InputStream is = mySocket.getInputStream();
byte[] bytes = new byte[1024];
int n = is.read(bytes);
System.out.println(new String(bytes, 0, n));
OutputStream os = mySocket.getOutputStream();
os.write(("시간에 서버 응답 " + new Date()
.toString()).getBytes()); p> p>
mySocket.close();
} catch(예외 e) {
e.printStackTrace();
} p>
}
}.start();
}