자바 socket 연결 및 데이터 전송 및 수신
/**
*
*/
package socketTest2;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static final int PORT = 12345;//
public static void main(String[] args) {
System.out.println(" ...
");
Server server = new Server();
server.init();
}
public void init() {
try {
ServerSocket serverSocket = new ServerSocket(PORT);
while (true) {
// ,
Socket client = serverSocket.accept();
//
new HandlerThread(client);
}
} catch (Exception e) {
System.out.println(" : " + e.getMessage());
}
}
private class HandlerThread implements Runnable {
private Socket socket;
public HandlerThread(Socket client) {
socket = client;
new Thread(this).start();
}
public void run() {
try {
//
DataInputStream input = new DataInputStream(socket.getInputStream());
String clientInputStr = input.readUTF();// , EOFException
//
System.out.println(" :" + clientInputStr);
//
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
System.out.print(" :\t");
//
String s = new BufferedReader(new InputStreamReader(System.in)).readLine();
out.writeUTF(s);
out.close();
input.close();
} catch (Exception e) {
System.out.println(" run : " + e.getMessage());
} finally {
if (socket != null) {
try {
socket.close();
} catch (Exception e) {
socket = null;
System.out.println(" finally :" + e.getMessage());
}
}
}
}
}
}
/**
*
*/
package socketTest2;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
public class Client {
public static final String IP_ADDR = "localhost";//
public static final int PORT = 12345;//
public static void main(String[] args) {
System.out.println(" ...");
System.out.println(" \"OK\" ,
");
while (true) {
Socket socket = null;
try {
//
socket = new Socket(IP_ADDR, PORT);
//
DataInputStream input = new DataInputStream(socket.getInputStream());
//
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
System.out.print(" : \t");
String str = new BufferedReader(new InputStreamReader(System.in)).readLine();
out.writeUTF(str);
String ret = input.readUTF();
System.out.println(" : " + ret);
// "OK"
if ("OK".equals(ret)) {
System.out.println(" ");
Thread.sleep(500);
break;
}
out.close();
input.close();
} catch (Exception e) {
System.out.println(" :" + e.getMessage());
} finally {
if (socket != null) {
try {
socket.close();
System.out.println("socket is closed");
} catch (IOException e) {
socket = null;
System.out.println(" finally :" + e.getMessage());
}
}
}
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.