Java发送TCP消息

Java发送TCP消息

  • Server端示例代码
  • Client端示例代码
  • 测试示例代码

Server端示例代码

这里建立一个端口号为9999的ServerSocket,等待客户端连接,在收到客户端消息时打印出消息:

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

public class TestTcpServer {
	
	public static void main(String[] args) {
		ServerSocket serverSocket = null;
		Socket socket = null;
		InputStream is = null;
		ByteArrayOutputStream baos = null;
		try {
			//建立服务器socket
			serverSocket = new ServerSocket(9999);		
			//等待客户端连接
			socket = serverSocket.accept();
			//读取客户端消息
			is = socket.getInputStream();
			//管道流
			baos = new ByteArrayOutputStream();
			byte[] buffer = new byte[1024];
			int len;
			while((len = is.read(buffer)) != -1) {
				baos.write(buffer, 0, len);
			}
			//打印接收到的消息
			System.out.println(baos.toString());
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if(baos != null) {
				try {
					baos.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			if(is != null) {
				try {
					is.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			if(socket != null) {
				try {
					socket.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			if(serverSocket != null) {
				try {
					serverSocket.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
}

Client端示例代码

client端先通过服务器的ip地址和端口号与server端建立连接,然后发送一个消息:

import java.io.IOException;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;

public class TestTcpClient {
	
	public static void main(String[] args) {
		Socket socket = null;
		OutputStream os = null;
		try {
			//服务器地址
			InetAddress serverIP = InetAddress.getByName("127.0.0.1");
			//服务器端口号
			int port = 9999;
			//创建socket连接
			socket = new Socket(serverIP, port);
			//发送消息IO流
			os = socket.getOutputStream();
			os.write("Tcp test message".getBytes());
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if(os != null) {
				try {
					os.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			if(socket != null) {
				try {
					socket.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
}

测试示例代码

首先运行Server端示例代码启动服务器,然后运行Client端示例代码,查看Server端是否成功收到Client端发送的消息:
Java发送TCP消息_第1张图片

你可能感兴趣的:(java)