购物网站开发的目的意义,pc端网页设计公司,东莞网络公司seo优化,电商做网站目录 【TCP字节流编程】 // 网络编程中#xff0c;一定是server端先运行
【案例1】 【思路分析】
【客户端代码】
【服务端代码】
【结果展示】
【案例2】
【题目描述】 【注意事项】
【服务端代码】
【客户端代码】
【代码结果】 【TCP字节流编程】 // 网络编程中一定是server端先运行
【案例1】 【思路分析】
【客户端代码】
【服务端代码】
【结果展示】
【案例2】
【题目描述】 【注意事项】
【服务端代码】
【客户端代码】
【代码结果】 【TCP字节流编程】 // 网络编程中一定是server端先运行 【案例1】 【思路分析】 【客户端代码】
import java.io.IOException;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;/*** ProjectName: Study* FileName: SocketTCP01Client* author:HWJ* Data: 2023/7/17 16:41*/
public class SocketTCP01Client {public static void main(String[] args) throws IOException {// 连接本机的 9999端口如果连接成功返回Socket对象Socket socket new Socket(InetAddress.getLocalHost(), 9999);System.out.println(连接成功...);// 连接上后生成Socket对象通过socket.getOutputStream 来写入数据OutputStream outputStream socket.getOutputStream();outputStream.write(hello, server.getBytes());// 这里一定要关闭流对象和socket对象否则会造成资源浪费。socket.close();outputStream.close();System.out.println(客户端退出...);}
}【服务端代码】
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;/*** ProjectName: Study* FileName: SocketTCP01Server* author:HWJ* Data: 2023/7/17 16:18*/
public class SocketTCP01Server {public static void main(String[] args) throws IOException {// 监听本机端口9999等待连接// 细节要求在本机没有其他服务在监听9999端口ServerSocket serverSocket new ServerSocket(9999);System.out.println(服务端在9999端口监听等待连接);// 当没有客户端连接9999端口时程序会阻塞等待连接// 如果有客户端连接则会返回Socket对象程序继续Socket socket serverSocket.accept();// 通过socket.getInputStream() 读取客户端写入到数据通道的数据显示InputStream inputStream socket.getInputStream();// 读取数据int readLine 0;byte[] bytes new byte[1024];while ((readLine inputStream.read(bytes)) ! -1){System.out.println(new String(bytes, 0, readLine));}// 这里一定要关闭流对象和socketserverSocket对象否则会造成资源浪费。serverSocket.close();socket.close();inputStream.close();System.out.println(服务端退出...);}
}【结果展示】 【案例2】
【题目描述】 【注意事项】
1. 每次客户端和服务端之间发送一个东西后一定要设置一个结束标记socket.shutdownOutput();
【服务端代码】
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;/*** ProjectName: Study* FileName: SocketTCP02Server* author:HWJ* Data: 2023/7/29 11:50*/
public class SocketTCP02Server {public static void main(String[] args) throws IOException {// 监听本机端口9999等待连接// 细节要求在本机没有其他服务在监听9999端口ServerSocket serverSocket new ServerSocket(9999);System.out.println(服务端在9999端口监听等待连接);// 当没有客户端连接9999端口时程序会阻塞等待连接// 如果有客户端连接则会返回Socket对象程序继续Socket socket serverSocket.accept();// 通过socket.getInputStream() 读取客户端写入到数据通道的数据显示InputStream inputStream socket.getInputStream();// 读取数据int readLine 0;byte[] bytes new byte[1024];while ((readLine inputStream.read(bytes)) ! -1){System.out.println(new String(bytes, 0, readLine));}// 发送给客户端OutputStream outputStream socket.getOutputStream();outputStream.write(hello client.getBytes());socket.shutdownOutput(); // 设置结束标记// 这里一定要关闭流对象和socketserverSocket对象否则会造成资源浪费。serverSocket.close();socket.close();outputStream.close();inputStream.close();System.out.println(服务端退出...);}
}
【客户端代码】
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;/*** ProjectName: Study* FileName: SocketTCP02Client* author:HWJ* Data: 2023/7/29 11:50*/
public class SocketTCP02Client {public static void main(String[] args) throws IOException {// 连接本机的 9999端口如果连接成功返回Socket对象Socket socket new Socket(InetAddress.getLocalHost(), 9999);System.out.println(连接成功...);// 连接上后生成Socket对象通过socket.getOutputStream 来写入数据OutputStream outputStream socket.getOutputStream();outputStream.write(hello, server.getBytes());socket.shutdownOutput(); // 设置结束标记// 读取数据InputStream inputStream socket.getInputStream();int readLine 0;byte[] bytes new byte[1024];while ((readLine inputStream.read(bytes)) ! -1){System.out.println(new String(bytes, 0, readLine));}// 这里一定要关闭流对象和socket对象否则会造成资源浪费。socket.close();outputStream.close();inputStream.close();System.out.println(客户端退出...);}
}【代码结果】