1. 程式人生 > 實用技巧 >TCP客戶端伺服器

TCP客戶端伺服器

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
/*
1.建立一個客戶端物件Socket,構造方法繫結伺服器的IP地址和埠號
2.使用socket物件中的方法getOutputStream()獲取網路位元組輸出流outputstream物件
3.使用網路位元組輸出流output stream物件中的方法write,給伺服器傳送資料
4.使用Socket物件中的方法getInputStream()獲取網路位元組輸入流InputStream物件
5.使用網路位元組輸入流InputStream物件中的方法read,讀取伺服器寫回的資料
6.釋放資源(Socket)

注意:
1.客戶端和伺服器端進行互動,必須使用Socket中提供的網路流,不能使用自己建立的流物件
2.當我們建立客戶物件socket時候,就會去請求伺服器和伺服器經過三次握手連線通路
        如果沒有啟動丟擲異常。
        如果啟動則可以互動。

 
*/ public class Demo01TCPClient { public static void main(String[] args) throws IOException { Socket socket=new Socket("127.0.0.1",8888); OutputStream os=socket.getOutputStream(); os.write("你好伺服器".getBytes()); InputStream is = socket.getInputStream(); byte[] bytes=new
byte[1024]; int len=is.read(bytes); System.out.println(new String(bytes,0,len)); socket.close(); } }

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Demo02TCPServer {
    
public static void main(String[] args) throws IOException { ServerSocket server=new ServerSocket(8888); Socket socket=server.accept(); InputStream is=socket.getInputStream(); byte[] bytes=new byte[1024]; int len=is.read(bytes); System.out.println(new String(bytes,0,len)); OutputStream os = socket.getOutputStream(); os.write("收到謝謝".getBytes()); socket.close(); server.close(); } }