네트워크 애플리케이션은 클라이언트와 서버의 두 부분으로 나뉘며, 소켓 클래스는 클라이언트 통신을 처리하는 Java 클래스입니다. 이 클래스를 통해 지정된 IP나 도메인 이름으로 서버에 접속할 수 있고, 서버와 데이터를 주고받을 수 있습니다.
소켓 통신에 대해 간략하게 설명하면 서버는 소켓 출력 스트림에 내용을 쓰고, 클라이언트는 소켓 입력 스트림을 통해 해당 내용을 읽을 수 있습니다. Socket과 Socket 사이에는 양방향 연결이 있으므로 클라이언트는 해당 Socket 출력 스트림에 내용을 쓸 수도 있고, 그런 다음 서버의 해당 Socket 입력 스트림에서 해당 콘텐츠를 읽을 수도 있습니다.
예 1: 클라이언트의 약어(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: 클라이언트 약어(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(); }
여기에서는 Java 소켓 통신(1) 클라이언트 프로그램의 데이터 송수신에 대한 관련 지식을 편집자가 소개합니다. 자세한 내용은 PHP 중국어 웹 사이트에 로그인하여 자세히 알아보세요!