1. 程式人生 > 其它 >網路程式設計--簡單的客戶端與服務端連線

網路程式設計--簡單的客戶端與服務端連線

package socket;

import java.io.IOException;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;

/**
 * Copyright (C), 2018-2021, Mr.Lin
 * Author: Mr.Lin
 * Date: 2021/12/1 21:46
 * FileName: SocketAPI01Client
 * Description: 客戶端
 */
public
class SocketAPI01Client { public static void main(String[] args) throws IOException { //連線本機的埠,如果連線成功則返回socket物件 Socket socket = new Socket(InetAddress.getLocalHost(),6666); System.out.println("返回socket="+socket); //連線上後通過socket.getOutputStream()得到和socket 物件關聯的輸出流物件 OutputStream os = socket.getOutputStream(); os.write(
"hello.server".getBytes()); os.close(); socket.close(); System.out.println("客戶端退出。。。。"); } }
package socket;

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

/**
 * Copyright (C), 2018-2021, Mr.Lin
 * Author: Mr.Lin
 * Date: 2021/12/1 21:38
 * FileName: SocketAPI01Server
 * Description:伺服器端
 
*/ public class SocketAPI01Server { public static void main(String[] args) throws IOException { //在本機的6666埠監聽,等待連線 //要求在本機沒有其他服務佔用6666埠 ServerSocket serverSocket = new ServerSocket(6666); System.out.println("埠6666等待連線。。。"); //當客戶端連線則返回socket物件 Socket socket = serverSocket.accept(); System.out.println("物件已連線。。。"); //通過 socket.getInputStream()讀取客戶端寫入到 資料通道的資料 InputStream is = socket.getInputStream(); //IO讀取 byte [] bytes=new byte[1024]; int readLen=0; while ((readLen=is.read(bytes)) !=-1){ System.out.println(new String(bytes,0,readLen)); } is.close(); socket.close(); serverSocket.close(); } }