本文共 2277 字,大约阅读时间需要 7 分钟。
网络编程是指在一定协议下,实现两台计算机之间通信的程序设计。它是计算机网络通信的核心技术之一,广泛应用于Web开发、远程控制、云计算等领域。
在网络编程中,软件可以分为客户端与服务器端两种结构:
C/S结构(Client/Server结构)
客户端与服务器端分别运行,客户端向服务器端发送请求,服务器端处理请求并返回结果。B/S结构(Browser/Server结构)
浏览器作为客户端,向服务器端发送请求,服务器端处理后返回网页资源。网络通信需要遵循一定的规则,这些规则共同构成了网络通信协议。TCP/IP协议是最基础、最广泛的协议之一。
TCP/IP协议分为两个部分:
TCP/IP协议是国际标准化的协议,几乎覆盖了互联网的所有通信需求。
网络通信协议可根据不同的需求分类。以下是两种常见协议的特点:
UDP(用户数据报协议)
TCP(传输控制协议)
网络编程的实现依赖于以下三要素:
协议
确定网络通信遵循的规则。IP地址
用于唯一标识网络中的计算机,IP地址可以是IPv4或IPv6形式。端口号
端口号是逻辑上的门户,用于区分不同的应用程序和服务。TCP通信程序分为客户端与服务器端两种角色:
客户端
主动向服务器发起连接请求,等待服务器响应。服务器端
等待客户端的连接请求,处理客户端的数据请求。在Java中,实现TCP通信程序可以使用以下类:
Socket类
用于客户端连接服务器,创建Socket对象并指定IP地址和端口号。ServerSocket类
用于服务器端接收客户端连接,创建ServerSocket对象并指定端口号。public class TCPSever { public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(8888); Socket socket = serverSocket.accept(); InputStream inputStream = socket.getInputStream(); byte[] buffer = new byte[1024]; int len = inputStream.read(buffer); System.out.println(new String(buffer, 0, len)); OutputStream outputStream = socket.getOutputStream(); outputStream.write("收到,谢谢".getBytes()); socket.close(); serverSocket.close(); }} public class TCPClient { public static void main(String[] args) throws IOException { Socket socket = new Socket("127.0.0.1", 8888); OutputStream outputStream = socket.getOutputStream(); outputStream.write("你好服务器".getBytes()); InputStream inputStream = socket.getInputStream(); byte[] buffer = new byte[1024]; int len = inputStream.read(buffer); System.out.println(new String(buffer, 0, len)); socket.close(); }} 构造方法:Socket(String host, int port)
成员方法:
OutputStream getOutputStream()InputStream getInputStream()close()构造方法:ServerSocket(int port)
成员方法:
Socket accept()close()通过以上实现,可以轻松构建TCP通信程序,满足不同的网络需求。
转载地址:http://fxhl.baihongyu.com/