第一部分:客户端
package net.tcp;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class TcpClientDemo {
/*
* 需求:建立一个TCP客户端
* 1,首先是建立一个TCP客户端的socket,建立时需指定IP地址和端口号。
* 2,从socket中获取输出流。
* 3,向输出流中输出数据
* 4,接收来自客户端的数据并显示。
* 5,关闭资源。
*/
public static void main(String[] args) throws IOException {
Socket socket=new Socket("192.168.0.100",10001);
OutputStream out=socket.getOutputStream();
out.write("TCP测试".getBytes());
InputStream in=socket.getInputStream();
byte[] buf=new byte[1024];
int len=in.read(buf);
String str=new String(buf,0,len);
System.out.println(str);
socket.close();
}
}
第二部分:服务端
package net.tcp;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TcpServerDemo {
/*
* 需求:建立一个TCP服务端。
* 1,首先建立一个服务端的Socket,利用ServerSocket对象,并且建立时要指定端口号。
* 2,利用服务端对象的accept()方法获取客户端的socket对象,并建立输入流,然后读取数据。
* 3,利用客户端的socket对象建立输出流,反馈收到的信息。
* 4,关闭资源。
*/
public static void main(String[] args) throws IOException {
ServerSocket ss=new ServerSocket(10001);
Socket socket=ss.accept();//阻塞式
InputStream in=socket.getInputStream();
byte[] buf=new byte[1024];
int len=in.read(buf);
String str=new String(buf,0,len);
System.out.println(str);
OutputStream out=socket.getOutputStream();
out.write("收到".getBytes());
socket.close();
ss.close();
}
}