java_Socket入門demo2

import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
/**
 * socket入門demo2
 * @author kxw
 * 能夠和客戶端socket進行信息交互
 */

public class TcpServer {
    public static void main(String[] args) throws Exception {
//當服務器端socket和客戶端soclet鏈接時  獲取輸入流和輸出流信息 交互
        //建立服務器端serverSocket對象 定義端口
        ServerSocket ss = new ServerSocket(3000);
        // 監聽鏈接
        Socket socket = ss.accept();
        if(socket!=null){
            System.out.println("客戶端socket鏈接服務器成功!!!");
        }
        // 根據socket讀取客戶端socket中的信息
        InputStream is = socket.getInputStream(); 
        //根據socket從服務器端向客戶端寫入信息
        OutputStream os = socket.getOutputStream();
        byte[] bytes = new byte[200];
        int length = 0;
        length = is.read(bytes);
        String str = new String(bytes, 0, length);
        System.out.println(str);
        // 服務器端的輸出
        os.write("Tcpserver::客戶端 ,我是服務器 已接收到你的請求!!".getBytes());
        // 關閉資源
        is.close();
        os.close();
        socket.close();
    }
}
package com.cnse.demo;

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

public class TcpClient {
    public static void main(String[] args) throws Exception {
        // 根據約定和協議 鏈接服務器端的socket
        Socket socket = new Socket("127.0.0.1", 3000);
        // 根據socket對象像服務器端寫入數據
        OutputStream os = socket.getOutputStream();
        os.write("TcpClient:你好服務端我正像你發送請求".getBytes());
        // 讀取服務器端的數據
        InputStream is = socket.getInputStream();
        byte[] buffer = new byte[200];
        int length = is.read(buffer);
        System.out.println("內容"+new String(buffer, 0, length));
        // 關閉資源
        is.close();
        os.close();
        socket.close();
    }
}
相關文章
相關標籤/搜索