本文介绍了一种非常基本的单向客户端和服务器设置,其中客户端连接,向服务器发送消息,服务器使用套接字连接显示它们。 有很多低级的东西需要发生才能使这些东西工作,但Java API网络包()负责所有这些,使程序员的网络编程变得非常容易。客户端编程

建立套接字连接

要连接到其他机器,我们需要一个套接字连接。 套接字连接意味着两台机器有关于彼此的网络位置(IP地址)和TCP端口的信息..Socket类表示一个Socket。 打开套接字:

Socket socket = new Socket(“127.0.0.1”, 5000)第一个参数 - 服务器的IP地址 。 (127.0.0.1是localhost的IP地址,其中代码将在单个独立计算机上运行)。

第二个参数 - TCP端口 。 (只是表示在服务器上运行的应用程序的数字。例如,HTTP在端口80上运行。端口号可以是0到65535)

Communication

要通过套接字连接进行通信,流用于输入和输出数据。

关闭连接

一旦发送到服务器的消息,就会显式关闭套接字连接。

在程序中,客户端不断读取用户的输入并发送到服务器,直到键入“Over”。

Java实现

服务器编程

建立套接字连接

要编写服务器应用程序,需要两个套接字。等待客户端请求的ServerSocket(当客户端创建新的Socket()时)

用于与客户端通信的普通旧Socket套接字。

通讯

getOutputStream()方法用于通过套接字发送输出。

关闭连接

完成后,通过关闭套接字以及输入/输出流来关闭连接非常重要。

重点服务器应用程序在特定端口5000上创建一个ServerSocket。这启动我们的服务器侦听进入端口5000的客户端请求。

然后,Server创建一个新的Socket以与客户端通信。socket = server.accept()accept()方法阻塞(只是坐在那里),直到客户端连接到服务器。

然后我们使用getInputStream()方法从套接字获取输入。 我们的服务器不断接收消息,直到客户端发送“Over”。

在我们完成之后,我们通过关闭套接字和输入流来关闭连接。

要在计算机上运行客户端和服务器应用程序,请编译它们。 然后首先运行服务器应用程序,然后运行客户端应用程序。

在终端或命令提示符上运行

为Server打开两个窗口,为Client打开另一个窗口

1.首先运行Server应用程序,$ java服务器

服务器启动了

等待客户......

2.然后在另一个终端上运行客户端应用程序,$ java客户端

它将显示 - 已连接且服务器接受客户端并显示,

客户接受

3.然后,您可以在“客户端”窗口中开始键入消息。 以下是客户端的示例输入你好

我做了第一个socket连接

过度

服务器同时接收和显示的内容,你好

我做了第一个socket连接

过度

关闭连接

请注意,发送“Over”会关闭客户端和服务器之间的连接,就像之前所说的那样。

如果你正在使用Eclipse或喜欢这样的 -在两个不同的终端或选项卡上编译它们

首先运行Server程序

然后运行客户端程序

在客户端窗口中键入消息,将同时由服务器窗口接收和显示。

输入结束。