构造方法,两个参数,String IP,int 端口 代码: /* * 实现TCP客户端 * 连接服务器 * 发送数据 * 读取服务器回来的数据 */ import java.io.*; import java.net.*; public class TCPClient { public static void main(String[] args) throws Exception{ //创建连接对象Socket,传递IP,端口 //一旦运行,连接服务器了 Socket s = new Socket("127.0.0.1", 8000); //从连接对象Socket中,获取字节输出流 OutputStream out = s.getOutputStream(); //写数据 out.write("你好TCP".getBytes());
//通过连接对象获取字节输入流,读取服务器的回来数据' InputStream in = s.getInputStream(); byte[] bytes = new byte[10]; int len = in.read(bytes); System.out.println(new String(bytes,0,len)); s.close();
} } TCP的服务器端:
建立服务器连接对象ServerSocket
获取客户端的连接对象,知道哪一个客户端和我连接的,ServerSocket类的方法accept
获取到了客户端的连接对象,可以从客户端的连接对象Socket获取对象
/* * TCP服务器 */ import java.io.*; import java.net.*; public class TCPServer { public static void main(String[] args) throws Exception{ //建立服务器的连接对象 ServerSocket ss = new ServerSocket(8000); //获取客户端的连接对象,知道哪一个和我连接的Socket accept() Socket s = ss.accept(); //通过客户端连接对象Socket获取,字节输入流,读取客户端的数据 InputStream in = s.getInputStream(); byte[] bytes = new byte[10]; int len = in.read(bytes); System.out.println(new String(bytes,0,len));
//获取字节输出流,将数据发回客户端 OutputStream out = s.getOutputStream(); out.write("行收到了".getBytes()); s.close(); ss.close();