服务器端
1.服务器端创建好ServerSocket的端口 并处于监听状态
2.使用accept()方法使端口和客户端建立连接
3.读取客户端的消息
4.利用管道流ByteArrayOutputStream进行获取
客户端
1.需要连接的服务器的IP地址和端口号信息
2.使用Socket类传入所需要连接的IP地址和端口号信息
3.向服务端发送信息
服务器端代码部分
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
//服务端
public class TcpServerDemo02 {
public static void main(String[] args) throws IOException {
ByteArrayOutputStream bao=null;
InputStream is=null;
Socket socket=null;
ServerSocket serverSocket=null;
try {
//1.服务器的地址
serverSocket=new ServerSocket(9999);
//2.等待客户端的连接
socket=serverSocket.accept();
//3.读取客户端的信息
is=socket.getInputStream();
//管道流包装
bao=new ByteArrayOutputStream();
byte[]buffer=new byte[1024];
int len;
while((len=is.read(buffer))!=-1){
bao.write(buffer,0,len);
}
//获取到的信息输出
System.out.println(bao.toString());
} catch (IOException e) {
e.printStackTrace();
}finally {
//从后面向前面倒着释放关闭资源
if (bao!=null){
bao.close();
}
if (is!=null){
is.close();
}
if (socket!=null){
socket.close();
}
if (serverSocket!=null){
serverSocket.close();
}
}
}
}
客户端代码部分
import java.io.IOException;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
//客户端
public class TcpClientDemo01 {
public static void main(String[] args) throws IOException {
OutputStream os=null;
Socket socket=null;
try {
//1,要知道服务器的地址 端口号
InetAddress serverIP=InetAddress.getByName("127.0.0.1");
int port=9999;
//2.创建一个socket连接
socket=new Socket(serverIP,port);
//3.发送消息io流
os=socket.getOutputStream(); //向外发送消息输出流
os.write("你好".getBytes());
} catch (Exception e) {
e.printStackTrace();
}finally {
if (os!=null){
os.close();
}
if (socket!=null){
socket.close();
}
}
}
}
获取到的信息