TCP入门案例
TCP入门案例
发送数据的步骤:
- 创建客户端的Socket对象(Socket)与指定服务端连接
Scoket(String host, int port)
- 获取输出流,写数据
OutputStream getOutputStream()
- 释放资源
void close()
接收数据的步骤:
- 创建服务器端的Socket对象(ServerSocket)
ServerSocket(int port)
- 监听客户端连接,返回一个Socket对象
Socket accept()
- 获取输入流,读数据,并把数据显示在控制台
InputStream getInputStream()
- 释放资源
void close()
客户端代码:
//
public class ClientDemo {
public static void main(String[] args) throws IOException {
// 创建一个Socket对象
Socket socket = new Socket("127.0.0.1", 10000);
// 获取一个IO流开始写数据
OutputStream os = socket.getOutputStream();
// 把低级的字节输出流包装称数据输出流
DataOutputStream dos = new DataOutputStream(os);
// 开始写数据
dos.writeUTF("Hello, server");
// 释放资源
dos.close();
socket.close();
}
}
服务端代码:
public class ServerDemo {
public static void main(String[] args) throws IOException {
// 创建ServerSocket对象
ServerSocket ss = new ServerSocket(10000);
// 调用accept等待客户端连接
Socket accept = ss.accept();
// 获取输入流对象
InputStream is = accept.getInputStream();
// 把原始的字节输入流包装称数据输入流
DataInputStream dis = new DataInputStream(is);
// 使用数据输入流读取客户端发送过来的消息
String rs = dis.readUTF();
System.out.println(rs);
// 获取客户端的IP地址
System.out.println(accept.getRemoteSocketAddress());
// 释放资源
dis.close();
ss.close();
}
}