本文介绍了一种非常基本的单向客户端和服务器设置,其中客户端连接,向服务器发送消息,服务器使用套接字连接显示它们。 有很多低级的东西需要发生才能使这些东西工作,但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程序
然后运行客户端程序
在客户端窗口中键入消息,将同时由服务器窗口接收和显示。
输入结束。
















