1. 程式人生 > >Java中ServerSocket與Socket簡單的使用

Java中ServerSocket與Socket簡單的使用

這是一個客戶端與伺服器端的簡單互動程式碼,用於理解之間的資料傳遞。
廢話不多說,直接上程式碼。

客戶端

package com.quaint.scoket;

import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Scanner;
/**
 * 客戶端簡要程式碼
 * @author Quaint
 * @date 2018年11月18日
 */
public class Client {

	public static void main(String[] args)
{ try { //建立連線 Socket socket = new Socket("127.0.0.1",7777); //傳送資料 OutputStream os = socket.getOutputStream(); Scanner in = new Scanner(System.in); System.out.println("你想往伺服器發表什麼?"); String msg = in.nextLine(); os.write(msg.getBytes()); //接收資料 InputStream is = socket.getInputStream
(); byte[] b = new byte[1024]; int n = is.read(b); //輸出伺服器回覆資料 System.out.println("伺服器回覆:" + new String(b,0,n)); is.close(); in.close(); os.close(); socket.close(); } catch (Exception e) { e.printStackTrace(); } } }

伺服器端

package com.quaint.scoket;

import java.io.IOException;
import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; /** * 伺服器端簡要程式碼 * @author Quaint * @date 2018年11月18日 */ public class Service { public static void main(String[] args) { try { //建立一個伺服器端 ServerSocket ss = new ServerSocket(7777); System.out.println("等待客戶端連線..."); //等待客戶端連線 Socket s = ss.accept(); //連線之後接受客戶端發來的訊息 InputStream is = s.getInputStream(); byte[] b = new byte[1024]; int n = is.read(b); System.out.println(new String(b,0,n)); //返回給客戶端訊息 OutputStream os = s.getOutputStream(); os.write("伺服器收到你的訊息。".getBytes()); s.close(); ss.close(); } catch (IOException e) { e.printStackTrace(); } } }