客户端与服务端的区别与联系

您所在的位置:网站首页 paper客户端 客户端与服务端的区别与联系

客户端与服务端的区别与联系

2023-01-28 23:36| 来源: 网络整理| 查看: 265

一、基础概念1、客户端与服务端

百度百科上的专业术语用多说,现在我想用最通俗易懂的语言来向大家描述一下这两个东西的概念

实际上两者不可分割,所以他们的概念会包含彼此

客户端:客户也就是你,客服端也就是你这一端可以接触到的程序,手机app,web网页等,我们可以在客户端的界面上向服务器发送请求以及数据,交给服务器处理服务端:也就是提供为客户端提供“服务”,接收并储存客户端发送过来的数据或请求,并且对请求进行响应,发送数据给客户端

举个例子:

所以我们在聊天时,发送给对方的信息是通过服务端间接转发的,客户端与客户端之间并没有直接交互。而且服务端也会有专门的算法对发送过来的信息进行检测。

2、IP地址与端口号IP地址:用于找到主机,由网络地址与主机地址组成,网络地址表示互联网的哪一个网络,主机地址表示其属于网络下的哪一台主机。端口号:用于找到主机下的特定进程提供的服务,每一个服务器都有独一无二的端口号

通俗来说,IP相当于小区地址,端口号相当于门牌号。客户端只有知道小区号与门牌号才可以进门,接受服务端的服务若端口号错误,就进错门了。

3、输入、输出流

客户端与服务端相互发送的数据都放在在输入,输出流里获取信息从输入流中获取

InputStream in = client.getInputSream(); int i = in.read();//返回值为int型

但是read方法若是没有从输入流读到数据,就会一直阻塞在这里,直到读到信息为止,才会执行接下来的代码。输出需要发送的信息在输出流中

OutputStream out = client.getOutputSream(); out.write();//参数类型为Byte或者Byte[]二、服务端代码

创建服务端的核心代码非常简单

ServerSocket server = new ServerSocket(PORT);//PORT为指定的端口号,int类型

完整代码如下:

public class Server { public final int PORT = 9999;//端口号 private ServerSocket server;//服务端 private Socket client;//客户端 private InputStream ins; private ObjectInputStream objectins; public Server(){ try { server = new ServerSocket(PORT); }catch (IOException e){ e.printStackTrace(); } } public void getClient(){ try { //等待客户机的连接 client = server.accept(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { Server server = new Server(); server.getClient(); } }

如果像连接其他人电脑上的服务端,保证两台电脑在同一个网络下,将客户端的IP改为对方的IP即可

查看本机IP

ipconfigaccpet()方法

作用:用于接收连接服务端的客户端,如果一直没有客户端连接,就会阻塞在这里,直到有客户端连接如果想要连接多个客户端,那么就可以这样

while(true){ Socket client = server.accept(); }三、客户端代码public class ClientCnn { public Socket socket; OutputStream outs; public final int PORT = 9999; String IP = "127.0.0.1";//本机IP地址 //连接服务器 public boolean cnnToServer() { try { socket = new Socket(IP,PORT); //获取输入输出流 InputStream ins = socket.getInputStream(); outs = socket.getOutputStream(); return true; } catch (IOException e) { e.printStackTrace(); } return false; } }

若是服务端代码没有先于客户端代码运行,cnnToServer()方法就会返回false。

总结:客户端:客户可以操纵的程序服务端:为客户端提供服务的程序IP:用于找到主机端口:用于找到主机下某一特定进程的服务输入流:接收信息输出流:发送信息


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3