Java Socket实现客户端服务端之间的通信
生活随笔
收集整理的這篇文章主要介紹了
Java Socket实现客户端服务端之间的通信
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java Socket
- Java Socket編程用于在不同JRE上運行的應用程序之間的通信。
- Java Socket編程可以是面向連接的或無連接的。
- Socket和ServerSocket類用于面向連接的套接字編程,DatagramSocket和DatagramPacket類用于無連接套接字編程。
此Demo將進行單向客戶端和服務器通信。客戶端將消息發送到服務器,服務器讀取消息并打印。在這里,使用了兩個類:Socket和ServerSocket。Socket類用于通信客戶端和服務器。通過此類,我們可以讀寫消息。ServerSocket類在服務器端使用。ServerSocket類的accept()方法將阻止控制臺,直到客戶端連接為止。客戶端成功連接后,它將在服務器端返回Socket的實例。
Socket class
套接字只是機器之間通信的端點。Socket類可用于創建套接字。
重要方法
| 1)public InputStream getInputStream() | 返回與此socket連接的InputStream。 |
| 2)public OutputStream getOutputStream() | 返回與此socket連接的OutputStream。 |
| 3)public synchronized void close() | 關閉這個socket |
ServerSocket class
ServerSocket類可用于創建服務器套接字。該對象用于與客戶端建立通信。
重要方法
| 1) public Socket accept() | 返回socket,并在服務器和客戶端之間建立連接。 |
| 2) public synchronized void close() | 關閉服務器socket |
具體實現
MyServer.java
import java.io.*; import java.net.*; public class MyServer { public static void main(String[] args){ try{ ServerSocket ss=new ServerSocket(6666); Socket s=ss.accept();//建立連接 DataInputStream dis=new DataInputStream(s.getInputStream()); String str=(String)dis.readUTF(); System.out.println("message= "+str); ss.close(); }catch(Exception e){System.out.println(e);} } }MyClient.java
import java.io.*; import java.net.*; public class MyClient { public static void main(String[] args) { try{ Socket s=new Socket("localhost",6666); DataOutputStream dout=new DataOutputStream(s.getOutputStream()); dout.writeUTF("Hello Server"); dout.flush(); dout.close(); s.close(); }catch(Exception e){System.out.println(e);} } }總結
以上是生活随笔為你收集整理的Java Socket实现客户端服务端之间的通信的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 王道计算机网络 传输层整理 超详细版
- 下一篇: Java-绘图相关技术