Java Socket 통신(1) 클라이언트 프로그램에서 데이터 전송 및 수신
Socket 통신에 대한 약술은 서비스 측이 Socket의 출력 흐름에 글을 쓰면 클라이언트는 Socket의 입력 흐름을 통해 대응하는 내용을 읽을 수 있다.Socket과 Socket 사이는 양방향으로 연결되어 있기 때문에 클라이언트도 대응하는 Socket 출력 흐름 안에 글을 쓸 수 있고 서버에 대응하는 Socket의 입력 흐름은 대응하는 내용을 읽을 수 있다.
예1: 클라이언트의 간략한 쓰기 (一).
Socket client = null;
try{
client = new Socket(Ip,Port);
String msg=" !";
// socket ,
client.getOutputStream().write(msg.getBytes());
byte[] datas = new byte[2048];
//
client.getInputStream().read(datas);
System.out.println(new String(datas));
}catch(Exception e){
e.printStackTrace();
}finally {
if (client != null) {
try {
client.close();
} catch (IOException e) {
System.out.println("systemerr:" +e);
}
}
}
예2: 클라이언트의 간략한 쓰기 (二).
try{
client = new Socket();
SocketAddress socketAddress = new InetSocketAddress(Ip,Port);
client.connect(socketAddress, 3000);
String msg=" !";
// socket ,
client.getOutputStream().write(msg.getBytes());
byte[] datas = new byte[2048];
//
client.getInputStream().read(datas);
System.out.println(new String(datas));
}catch(Exception e){
e.printStackTrace();
}finally {
if (client != null) {
try {
client.close();
} catch (IOException e) {
System.out.println("systemerr:" +e);
}
}
}
예3: 클라이언트의 전체 쓰기
try {
//1. socket ,
Socket socket =new Socket(Ip,Port);
//2. socket
OutputStream os=socket.getOutputStream();
PrintWriter pw=new PrintWriter(os);
//
InputStream is=socket.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(is));
//3. , socket
String sendInfo=" !";
pw.write(sendInfo);
pw.flush();
socket.shutdownOutput();
//
String replyInfo=null;
while(!((replyInfo=br.readLine())==null)){
System.out.println(" :"+replyInfo);
}
//4.
br.close();
is.close();
pw.close();
os.close();
socket.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
자바 소켓 통신(하나)의 클라이언트 프로그램의 데이터 전송과 수신에 관한 지식을 소개합니다. 더 많은 정보는 저희 사이트에 접속하여 더 많은 내용을 알아보세요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.