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