java 基于tcp客户端服务端发送接收数据
生活随笔
收集整理的這篇文章主要介紹了
java 基于tcp客户端服务端发送接收数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
客戶端:
package demo03;import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket;/** 實現TCP客戶端,接收到服務器* 和服務器實現數據交換* 實現TCP客戶端程序的類 java.net.Socket* * 構造方法:* Socket(String host,int port) 傳服務器IP和端口號* 注意:構造方法只要運行,就會和服務器進行連接,連接失敗,拋出異常* * OutputStream getOutputStream() 返回套接字的輸出流* 作用:將數據輸出,輸出到服務器* * InputStream getInputStream() 返回套接字的輸入流* 作用:從服務端讀取數據* * 客戶端服務器數據交換,必須使用套接字對象Socket中的獲取的IO流,自己new流,不行*/ public class TCPClient {public static void main(String[] args) throws IOException{//創建Socket對象,連接服務器Socket socket=new Socket("127.0.0.1",8888);//通過客戶端的套接字對象Socket方法,獲取字節輸出流,將數據寫向服務器OutputStream out=socket.getOutputStream();out.write("服務器你好!".getBytes());//讀取服務器發回的數據,使用socket套接字對象中的字節輸入流InputStream in=socket.getInputStream();byte[] data=new byte[1024];int len=in.read(data);System.out.println(new String(data,0,len));socket.close();} }?
服務端:
package demo03;import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket;/** 實現TCP服務器程序* 表示服務器程序的類 java.net.ServerSocket* 構造方法:* ServerSocket(int port) 傳遞端口號* * 很重要的事情:必須要獲得客戶端的套接字對象Socket* Socket accept()*/ public class TCPServer {public static void main(String[] args)throws IOException {ServerSocket server=new ServerSocket(8888);//調用服務器套接字對象中的方法accept()獲取客戶端套接字對象Socket socket=server.accept();//通過客戶端套接字對象,socket獲取字節輸入流,讀取的是客戶端發送來的數據InputStream in=socket.getInputStream();byte[] data=new byte[1024];int len=in.read(data);System.out.println(new String(data,0,len));//服務器向客戶端回數據,字節輸出流,通過客戶端套接字對象獲取字節輸出流OutputStream out=socket.getOutputStream();out.write("收到,謝謝".getBytes());socket.close();server.close();} }?
轉載于:https://www.cnblogs.com/benjamin77/p/9147146.html
總結
以上是生活随笔為你收集整理的java 基于tcp客户端服务端发送接收数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 动态代理以及对应Spring中AOP源码
- 下一篇: Supervisor进程管理开机自启