TCP協(xié)議:傳輸控制協(xié)議 ,應用于運輸層
客戶(hù)端代碼--發(fā)送請求:
import java.io.IOException;import java.io.OutputStream;import java.net.Socket;import java.net.UnknownHostException;public class TCPClientDemo { public static void main(String[] args) throws UnknownHostException, IOException { // TODO Auto-generated method stub //1.建立TCP連接 String ip='10.105.53.65'; //服務(wù)器端ip地址 int port=10002; //端口號 Socket sck=new Socket(ip,port); //2.傳輸內容 String content='這是一個(gè)java模擬客戶(hù)端'; byte[] bstream=content.getBytes('GBK'); //轉化為字節流 OutputStream os=sck.getOutputStream(); //輸出流 os.write(bstream); //3.關(guān)閉連接 sck.close(); }}
服務(wù)器端---接收請求
import java.io.DataInputStream;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class TCPServerDemo { private ServerSocket serverSocket; private DataInputStream dataInputStream; public void startServer(){ Socket socket =null; try { serverSocket = new ServerSocket(10003); socket = serverSocket.accept(); dataInputStream = new DataInputStream(socket.getInputStream()); GetMessageFromClient(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(socket!=null){ try{ socket.close(); }catch(IOException e) { e.printStackTrace(); } } } } private void GetMessageFromClient(){ try { //獲取消息的長(cháng)度 int length = dataInputStream.read(); //獲取消息 byte[] body = new byte[length]; dataInputStream.read(body); String message = new String(body); System.out.println('客戶(hù)端說(shuō):' message); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String[] args) { // TODO Auto-generated method stub TCPServerDemo server = new TCPServerDemo(); server.startServer(); }}
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。