目录
1.1TCP通信原理
TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket对象,从而在通信的两端形成网络虚拟链路一旦建立了虚拟的网络链路,两端的程序就可以通过虚拟链路进行通信
Java对基于TCP协议的的网络提供了良好的封装,使用Socket对象来代表两端的通信端口,并通过Socket产生O流来进行网络通信 Java为客户端提供了Socket类,为服务器端提供了ServerSocket类
1.2TCP发送数据
发送数据的步骤
创建客户端的Socket对象(Socket)
Socket(Stringhost int port)获取输出流,写数据
OutputStreamgetOutputStream()释放资源
void close()package zyy09; import java.io.IOException; import java.io.OutputStream; import java.net.Socket; public class Demo { public static void main(String[] args) throws IOException { //创建对象 Socket s=new Socket("192.168.177.118",10000); //获得输出流,写数据 OutputStream os=s.getOutputStream(); os.write("hello".getBytes()); //释放资源 s.close(); } }
1.3TCP接收数据
接收数据的步骤
创建服务器端的Socket对象(ServerSocket)
ServerSocket(int port)
监听客户端连接,返回一个Socket对象
Socket accept()
获取输入流,读数据,并把数据显示在控制台
InputStreamgetInputStream()释放资源
void close()package zyy09; import java.io.IOException; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket; public class Demo { public static void main(String[] args) throws IOException { //创建对象 ServerSocket ss=new ServerSocket(10000); 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(); } }