Java -- 实现TCP通信

TCP通信的客户端:向服务器发送链接请求,给服务器发送数据,读取服务器返回的数据
表示客户端的类:
	java.net.Socket:此类实现了客户端套接字。套接字就是两台机器间通信的端点。
构造方法:
	Socket(String host,int port):创建一个流套接字并将其链接到一个指定的主机上的指定端口号。
	参数:
		String host:服务器主机的名称/服务器的IP地址。
		int port:服务器的端口号
	成员方法;
		OutputStream getOutputStream() 返回此套接字的输出流。
		InputStream getInputStream():返回此套接字的输入流。
		void close() 关闭此套接字
	实现步骤:
		1.创建一个客户端对象Socket,构造方法绑定服务器的IP地址和端口号
		2.使用Socket对象中的方法getOutputStream 获取网络字节输出流OutputStream对象
		3.使用网络字节输出流OutputStream对象中的方法write,给服务器发送数据
		4.使用Socket对象中的方法getInputStream获取网络字节输入流InputStream对象
		5.使用网络字节输入流InputStream对象中的方法read,读取服务器返回的数据
		6.释放资源(Socket)
	注意:
		1.客户端和服务器端进行交互,必须使用Socket中提供的网络流,不能使用自己创建的流对象
		2.当我们创建客户端Socket对象时,就会去请求服务器和服务器经过3次握手建立链接通道。
			这时如果服务器没有启动,那么就会抛出异常。
			如果服务器已经启动,那么就可以进行交互了。
TCP通信的服务器端:接收客户端发送的请求,读取客户端发送的数据,给客户端返回数据。
表示服务器端的类:
	java.net.ServerSocket:此类实现服务器套接字。

构造方法:
	ServerSocket(int port) :创建绑定到特定端口的服务器套接字

服务器必须明确一件事情,必须得知道是哪个客服端请求的服务器
所以可以使用accept方法获取到请求的客户端对象Socket

成员方法:
	Socket accept() 侦听并接收到此套接字的链接.

服务器端实现的步骤:
	1.创建服务器ServerSocket对象和系统指定的端口号
	2.使用ServerSocket对象中的方法accept,获取到请求的客户端对象Socket
	3.使用Socket对象中的方法getInputStream()获取网络字节输入流InputStream对象
	4.使用网络字节输入流InputStream对象中的方法read,读取客户端发送的数据
	5.使用Socket对象中的方法getOutputStream()获取网络字节输出流OutputStream对象
	6.使用网络字节输出流OutputStream对象中的方法write,给客户端回写数据.
	7.释放资源(Socket,ServerSocket)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java x-618是一种用于实现Modbus-TCP协议的Java库。Modbus是一种通信协议,用于在可编程逻辑控制器(PLC)和其他电子设备之间进行数据交换。Modbus-TCP是基于以太网的Modbus协议的一种变体,它使用TCP/IP协议进行通信Java x-618库提供了一套API,使Java开发人员可以轻松地使用Modbus-TCP协议与设备进行通信。它提供了一系列的函数和方法,可以轻松地读取和写入寄存器、线圈和其他Modbus数据类型。 使用Java x-618库,开发人员可以轻松地构建各种应用程序,包括监控和控制系统、工业自动化和物联网设备。这个库的优点是易于使用、可靠性高,并且能够处理大量的数据交换。 当使用Java x-618库时,首先需要建立与目标设备的连接。连接可以通过指定目标设备的IP地址和端口号来实现。一旦建立了连接,就可以使用提供的函数和方法来读取和写入设备的数据。 读取数据的示例代码如下: ``` ModbusTcpMaster tcpMaster = new ModbusTcpMaster("192.168.0.1", 502); ReadMultiRegistersRequest request = new ReadMultiRegistersRequest(1, 100, 10); // 读取设备1的100号寄存器开始的10个寄存器的值 ReadMultiRegistersResponse response = tcpMaster.send(request); int[] data = response.getData(); ``` 写入数据的示例代码如下: ``` ModbusTcpMaster tcpMaster = new ModbusTcpMaster("192.168.0.1", 502); int[] values = {1, 2, 3, 4, 5}; // 要写入设备的值 WriteMultipleRegistersRequest request = new WriteMultipleRegistersRequest(1, 100, values); // 将values数组写入设备1的100号寄存器开始的位置 tcpMaster.send(request); ``` 总而言之,Java x-618是一个方便的Java库,可用于实现Modbus-TCP协议的通信。它可以帮助开发人员轻松地构建各种与设备通信的应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值