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(); } }