JAVA------TCP发送数据和接收数据
作者:互联网
TCP发送数据和接收数据
1.TCP通信原理:
-
TCP通信协议是一种可靠的网络协议, 它在通信的两端各建立一个Socket对象, 从而在通信的两端形成网络虚拟链路,一旦建立了虚拟的网络链路,两端的程序就可以通过虚拟链路进行通信
-
Java对基于TCP协议的的网络提供了良好的封装,使用Socket对象来代表两端的通信端口,并通过Socket产 生IO流来进行网络通信Java为客户端提供了Socket类,为服务器端提供了ServerSocket类
2.TCP发送数据的步骤:
- 创建客户端的Socket对象(Socket)
- 获取输出流,写数据
- 释放资源
看代码演示:
发送数据:
package TCP;
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
public class SendDemo {
public static void main(String[] args) throws IOException{
//创建客户端的Socket对象
//Socket (InetAddress adress,int port)创建流套接字并将其连接到指定IP地址的指定端口号
// Socket s=new Socket(InetAddress.getByName("192.168.224.1"), 10000);
//Socket (String host,int port)创建流套接字并将其连接到指定主机的指定端口号
Socket s=new Socket("192.168.224.1", 10000);
//获取输出流,写数据
//OutputStream getOutputStream();返回此套接字的输出流
OutputStream os=s.getOutputStream();
os.write("hello,tcp".getBytes());
//释放资源
s.close();
}
}
因为TCP是可靠传输,必须有三次握手,所以只有运行了接收数据程序时,发送数据程序才可正常使用。这里192.168.223.1是本机IP地址。
3.TCP接收数据的步骤:
- 创建客户端的Socket对象(SevereSocket)
- 获取输入流,读数据,并把数据显示在控制台
- 释放资源
看代码演示:
package TCP;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class ReceiveDemo {
public static void main(String[] args) throws IOException {
//创建客户端的Socket对象(SevereSocket)
//ServerSocket (int port)创建绑定到指定端口的服务器套接字
ServerSocket ss=new ServerSocket(10000);
//Socket accept()侦听要连接到此套接字并接受他
Socket s=ss.accept();
//获取输入流,读数据,并把数据显示在控制台
InputStream is=s.getInputStream();
byte[] bys=new byte[1024];
int len=is.read(bys);
String data=new String(bys,0,len);
System.out.println("数据是:"+data);
//释放资源
s.close();
ss.close();
}
}
最终接收端输出:“数据是:hello,tcp”
标签:java,Socket,TCP,------,ServerSocket,发送数据,import,接收数据 来源: https://blog.csdn.net/weixin_45102820/article/details/113781072