TCP程序概述
TCP: 可靠的、 面向连接的协议。
实现TCP程序,需要编写服务器端和客户端,Java API为我们提供了java.net包,为实现网络应用程序提供类。
ServerSocket
:此类实现服务器套接字。
Socket
:此类实现客户端套接字(也可以就叫“套接字”)。
Socket是网络驱动层提供给应用程序编程的接口和种机制。
数据发送过程:
数据接收过程:
实现服务器端与客户端程序
服务器端:
public class ServerSocket extends Object
此类实现服务器套接字。服务器套接字等待请求通过网络传入。它基于该请求执行某些操作,然后可能向请求者返回结果。
ServerSocket(int port)
:创建绑定到特定端口的服务器套接字。
void setSoTimeout(int timeout)
:通过指定超时值启用/禁用
SO_TIMEOUT, 以毫秒为单位。
InetAddress getInetAddress()
:返回此服务器套接字的本地地址。
Socket accept()
:侦听并接受到此套接字的连接。
客户端:
public class Socket extends Object
此类实现客户端套接字(也可以就叫“套接字”)。套接字是两台机器间通信的端点。
Socket(String host, int port)
:创建一个流套接字并将其连接到指定主机上的指定端口号。
InputStream getInputStream()
:返回此套接字的输入流。
OutputStream getOutputStream()
:返回此套接字的输出流。
void setSoTimeout(int timeout)
:启用/禁用带有指定超时值的
SO_TIMEOUT,以毫秒为单位。
代码示例:
服务器端:
import jdk.net.Sockets;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class