最后更新:2021-11-02 01:07:02 手机定位技术交流文章
TCP/UDP 协议鼓励广泛使用客户/服务器通信模式。 有两个通信程序, 一个是客户程序, 另一个是服务器程序。 客户程序向服务器程序发送请求, 请求为服务器程序提供某种服务, 服务器程序对请求作出答复。 Java 网络程序以 TCP/IP 协议为基础, 并致力于应用层, 传输层向应用程序层提供Socket 接口, Socke 。
两个进程之间的沟通过程始于建立TCP连接,一旦成功,可以交换数据,最终切断连接终端服务,插座可被视为通信两端的收发器,通过插座传送和接收。
为了生成服务器和用户应用程序,下面的基本客户端/服务器程序使用ServerSocket和Socket。
由于服务器会通过不断监听端口来接受客户端的连接请求, 服务器端口对象必须首先在服务器应用程序中构建, 并且必须在启动时向对象提供定义的监听端口 。
ServerSocket 对象通过在操作系统中将当前进程登记为服务器来构建。服务器程序随后执行服务器Socket 对象的接受功能,该对象总是倾听端口并等待客户端的连接请求。如果收到连接请求,接受功能将返回连接客户端的 Socket 对象的Socket 对象。
** Socket 的 GetInputStream () 和 GetExputStream () 方法分别用于返回输入流 输入流对象和输出流 输出流对象。 ** 程序可以通过将数据写入输出流来相互传输;只能通过读取输入流中的数据才能相互接收数据。
Socket 的输入流和输出流与任何其他 IO 流一样, 可以用过滤流来装饰。 在以下代码中, 输出流首先获得并装饰为 printWriter 函数, 从而可以打印一行数据; 以下代码随后获取输入流, 并使用 bufferedReader 的缓冲 ReadLine () 方法进行装饰, 以接收一行数据 :
这是服务器程序, 其中最重要的功能是服务() 函数, 它在服务器套接时不断等待客户的连接请求。 当接受() 方法返回一个 Socket 对象时, 它意味着与客户端的连接已经建立。 接下来, 输出和输入流从 Socket 对象中提取, 并分别与 Prince Writer 和 Butffed Deader 一同装饰 。
要连接到服务器端进程,必须首先在客户程序内构建 Socket 对象 :
在上述 Socket 对象的构造方法中, 参数主机指定服务器进程所在的主机名称, 参数端口指定了服务器进程监测的端口。 当参数主机设置为“ localhost ” 时, 客户端和服务器进程在同一主机上运行。 如果成功构建了 Socket 对象, 客户端与服务器之间的连接会被建立 。
以下是一个客户程序,其主要功能是语音函数,它不断读取客户的字符串输入,将字符串导出到服务器端,并发布服务器端的返回信息。用户类型时关闭客户。

本文由 在线网速测试 整理编辑,转载请注明出处。