精华内容
下载资源
问答
  • Netty实现简单的客户端服务端通信示例,户端发送请求给服务端,并由服务端响应客户端请求,希望对初学Netty的同学有所帮助。
  • NULL 博文链接:https://yuhuiblog695685688425687986842568269.iteye.com/blog/2434653
  • 使用Qt实现客户端服务端聊天和传输文件,带有ui设计界面
  • 异步通讯方式,客户端服务端代码。
  • 2018广州速游校招笔试-----客户端服务端。(包涵3个大题)
  • 安装方法:rpm -ivh ftp-0.17-54.el6.x86_64.rpm rpm -ivh vsftpd-2.2.2-14.el6.x86_64.rpm
  • java socket长连接客户端服务端(标准实例),准确无误,流行结构。
  • OPC客户端服务端测试工具包含多个客户端,服务端,用于实现开发时的环境搭建及测试。同时两者搭配可以测试环境。服务端软件:123.cfgWtOPCSvr.dllWTSvrTest.cfgWTSvrTest.exeWtSvrTst2.exe客户端软件:111.otc222....
  • 大型ARPG手游《降临》客户端服务端全套源码,有实际参考意义
  • UDP 客户端 服务端 网络编程 自己写的基于udp的本地网络编程
  • C#基于TCP协议的服务器端和客户端通信编程的基础教程,简单实现通讯。代码简单明了。
  • Socket 客户端代码封装、服务端代码封装,让使用Socket更简单。 同时服务端支持超过客户端连接(测试超过1万个同时连接稳定运行),Tasks多线程 队列处理 大数据拆分包处理
  • 包含客户端服务端、汉化包,可以建立svn管理服务器,并使用客户端进行开发和提交,提供汉化
  • Python 聊天室程序包括了客户端服务端,可以进行通信。比较适合初学入门。基于Python3.5设计
  • springboot-dubbo客户端服务端通信代码,亲测可用,亲测可用,客户端服务端
  • 所以一些个人网站的建造者,都是全栈工程师(前端后端都包了),当然现在有很多给你现成模板,让你可以不用开发后端,问题是bug总会很多 也总不能够满足我们个体多样化的需求——这也是为啥我们要学习 服务端编程。...

    前言 ´・ᴗ・`

    • 本篇将简化的介绍你在手机或者电脑或者iwatch等等浏览网页所发生的事情 大佬请略过

    • 本文可以带给你…

      • 客户机 服务器是什么
      • 什么是前端开发、后端开发
      • HTTP是啥
      • 访问一个静态的web网页 背后的流程是什么

    客户机 服务器 前端 后端

    上篇我们提到 internet使得全世界的电脑都可以联网,那么对于使用web服务的电脑来说,一般会有新的身份:客户机 Client服务器 Server

    相应的,为客户机而开发的就是客户端编程(Clients-side programming),也就是所谓前端开发(front-end scripting)
    而为服务器开发就是服务端编程(server-side programming)也就是所谓的后端开发(back-end scripting)

    客户端通常还会有**浏览器(browser)**软件来帮助你解析网页(这样你就能看网页了)和 提交表单(比如注册CSDN 填写信息)等等

    当你点击我的博客 你就通过浏览器,向csdn的服务器发送了请求(requests),服务器必须响应response你的请求 也就是给你个回复
    成功的话,你就见到我的博文了,这就是服务器给你的response——当然是经过浏览器解析(parse) 渲染 (render) 后的结果.
    失败的话 有各种失败的代码,其中最常见的就是404 也就是你想要请求访问的资源找不到(其实不一定是找不到 可能是有些东西不想给你 没权限 你懂得)

    好了 如果我们有自己的网站呢?首先,我们得有个服务器(云服务器或者实体的服务器 其实就是另一台电脑)。
    我们的前端开发 编写的.html .css .js都是放在哪里呢?就是服务器。我们需要**上传(upload)**这些东西到我们自己的服务器,这样别人访问我们的网站,我们服务器就会给他们,我们之前前端开发的这些文件(“他们”也就是 客户
    当然客户要求一些别的东西 比如说下载电影啊 或者图片什么的 这就是其他网页资源(assets)了,当然也是放在服务器上。
    然后客户通过浏览器就能看到我们设计的页面
    当然了 话说回来,你不可能让服务器自动帮你做一些相应你客户需求的事——这需要你编程解决,这就是后端开发。
    所以一些个人网站的建造者,都是全栈工程师(前端后端都包了),当然现在有很多给你现成模板,让你可以不用开发后端,问题是bug总会很多 也总不能够满足我们个体多样化的需求——这也是为啥我们要学习 服务端编程。

    HTTP

    HTTP(Hypertext Transfer Protocol) 其实就是一种协议,或者说是一种语言,让你的客户机和服务器通话(通信)

    特点是 文本性的(textual) 无状态的(stateless)

    • 文本性的 Textual
      所有命令都可是人可以阅读的(英语 当然)
    • 无状态的 Stateless
      服务器 客户端都不会记录之前的通讯情况——过去了的就过去吧
      因此 你想做一个有账号密码的网站,单单靠HTTP服务器是不可能的
      因此我们需要一个web application server
      我的理解是 是在传统底层的web server软件上封装了更多东西 也就是个升级版

    关于HTTP 有一些规则我们可以了解一下:

    • 只有客户端可以发出HTTP 请求 也只有服务器能够接收
    • 服务器必须应答(answer)所有的HTTP请求 只不过返回的是200还是404就不知道了
    • 服务器接到请求以后 就查自己的硬盘 看看相关资源有没有 没有的话返回404 有的话返回200 还有各种别的情况 我们初学知道这些就够了

    这里我们可以发现 服务器与客户机的区别 或者说 前端与后端的一个区别:
    能否有足够权限访问操作系统
    对于前端 也就面向客户机 你想想网页能够控制你电脑多少呢?一般而言也就是简单的文件访问(文件系统 file system)
    但是后端 我们服务器程序 能够调节电脑的线程,控制CPU占用 能够调节系统资源来更好地相应 做一个棒棒的服务器

    web是怎么工作的呢?

    我们把csdn当成静态网页的话 当你在浏览器地址栏输入www.csdn.net 然后回车 所发生的事:

    • 你在浏览器地址栏输入www.csdn.net 然后回车
      在这里插入图片描述

    • 浏览器首先向DNS服务器发送请求 让他解析一下“csdn.net”具体对应哪个IP地址
      在这里插入图片描述

    • 浏览器得到IP地址以后,向那个IP地址发送HTTP 请求,要求csdn服务器发一份copy回来,于是你得到了这么一堆文件(.html .css .js .jpg .png, etc)
      在这里插入图片描述

    • 然后浏览器渲染页面 你就看到:
      在这里插入图片描述

    总结 ´◡`

    这节比较轻松 讲述了一部分web的相关概念
    下一节 将更加深入的讲述web,比如网站 网页 web服务器等等行话(jargon)

    另外 服务端编程专栏 正在持续更新 敬请关注 感谢对阮菜鸡的支持:) 我会尽力用更优质的内容帮助大家学习的

    展开全文
  • 简单的实现多个客户端服务端发送信息!可以应用到tcp协议的通讯中。
  • RPC-Thrift框架实现客户端服务端通讯,VS2015-2019通用。支持一个服务端对应多个客户端通信。测试通过
  • axis2生成客户端服务端代码
  • 实现了完整的新闻的web服务端和Android客户端, web使用MySQL数据口存储新闻Json数据,对客户端发出的请求, 用servlet响应新闻数据,客户端获取后,进行解析展示。此外还添加了 评论。分享的功能。
  • unty websocket 客户端 服务端 通信 使用WebSocketSharp框架
  • grpc-简单的客户端服务端通信(1)

    千次阅读 2017-07-22 13:43:44
    通过grpc实现简单的客户端服务端通信

    服务端业务逻辑代码

    实现自己的业务逻辑类去继承grpc自动生成的类:

    public class StudentServiceImpl extends StudentServiceGrpc.StudentServiceImplBase {
    
        @Override
        public void getRealNameByUsername(MyRequest request, StreamObserver<MyResponse> responseObserver) {
            System.out.println("接受到客户端信息: " + request.getUsername());
    
            responseObserver.onNext(MyResponse.newBuilder().setRealname("张三").build());
            responseObserver.onCompleted();
        }
    }

    可见返回的是void,所以需要返回的消息内容一定是由responseOberver来实现的。这单是跟thrift不同的地方。
    onNext:把结果返回给客户端(考虑到会有stream情况)
    onCompleted:告知客户端服务端,服务端已执行完毕

    启动服务端

    • 启动服务端
    private void start() throws Exception{
            this.server = ServerBuilder.forPort(8899).addService(new StudentServiceImpl()).build().start();
            System.out.println("server started!");
    
            Runtime.getRuntime().addShutdownHook(new Thread(() -> {
                System.out.println("关闭jvm");
                GrpcServer.this.stop();
            }));
            System.out.println("执行到这里");
        }
    • 停止服务端
    private void stop() {
            if (null != this.server) {
                this.server.shutdown();
            }
        }
    • 让服务器等待(否则启动完就会退出)
    private void awaitTermination() throws InterruptedException {
            if (null != this.server){
                this.server.awaitTermination();
            }
        }
    • 执行
    public static void main(String[] args) throws Exception{
            GrpcServer server = new GrpcServer();
            server.start();
            server.awaitTermination();
        }

    启动客户端

    public static void main(String[] args) {
            ManagedChannel managedChannel = ManagedChannelBuilder.forAddress("localhost", 8899).usePlaintext(true).build();
            StudentServiceGrpc.StudentServiceBlockingStub blockingStub = StudentServiceGrpc.newBlockingStub(managedChannel);
            MyResponse myResponse = blockingStub.getRealNameByUsername(MyRequest.newBuilder().setUsername("张三").build());
            System.out.println(myResponse.getRealname());
        }

    关键点

    awaitTermination:等待服务器终止,可以传入时间参数来让服务器到达时间后terminate.
    底层实现:

    @Override
      public void awaitTermination() throws InterruptedException {
        synchronized (lock) {
          while (!terminated) {
            lock.wait();
          }
        }
      }

    Runtime:每一个java应用都会有一个单例Runtime对象,应用可以通过此对象获取应用环境的信息
    addShutdownHook:回调钩子,虚拟机被关闭之前执行的方法

    服务端与客户端建立的是一个tcp连接,是一个长连接,而不会像http一样客户端每次请求都需要建立一个新的连接,但是会通会过心跳检测这个连接是否有效。

    参考 https://grpc.io/docs/tutorials/basic/java.html

    展开全文
  • TCP、UDP客户端服务端例程代码

    热门讨论 2011-09-24 17:26:44
    提供TCP、UDP客户端服务端例程代码,tcp_client,tcp_server,udp_client,udp_server
  • 服务端采用jdk原生态的生成,客户端为了不需要采用命令行生成采用了axis2的document方法,可调用,代码中既有客户端又有服务端,亲测可用
  • python客户端服务端

    2018-03-15 17:24:44
    python 客户端服务端,签名加密,post,get,服务器端,客户端发送get和post,包括签名加密(hashlib)
  • 一、总的来说,先了解它们的组成部分 基于TCP协议的服务器端 1.创建服务器套接字,绑定端口号(new ServerSocket(1008)) ...基于TCP协议的客户端 1.创建客户端套接字,指定服务器的地址和端口号 2.获输入、输出流

    一、总的来说,先了解它们的组成部分

    基于TCP协议的服务器端
            1.创建服务器套接字,绑定端口号(new ServerSocket(1008))
            2.侦听客户连接,返回socker(listener.accept())
            3.获输入、输出流
            4.处理数据
            5.关闭资源
    		
    		
    基于TCP协议的客户端
                1.创建客户端套接字,指定服务器的地址和端口号
                2.获输入、输出流
                3.处理数据
                4.关闭资源
    

    二、(1)服务端代码

    package d04_test;/*
     * zt
     * 2020/8/10
     * 18:16
     *
     */
    
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class Server {
        public static void main(String[] args) throws Exception {
            //1.创建
            ServerSocket listener = new ServerSocket(10086);
            //2.侦听
            System.out.println("服务器已经启动");
            Socket socket = listener.accept();
            //3.获取输入输出流
            BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream(), "utf-8"));
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"utf-8"));
            //4.1处理数据(接收)
            String data = br.readLine();
            System.out.println("客户端说:"+data);
            //4.2处理数据(发送)
            bw.write("你好啊,客户端");
            bw.newLine();
            bw.flush();
            //5.关闭资源
            bw.close();
            br.close();
            socket.close();
            listener.close();
    
        }
    }
    
    

    (2)客户端代码

    package d04_test;/*
     * zt
     * 2020/8/10
     * 18:16
     *
     */
    
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.net.Socket;
    
    public class Client {
        public static void main(String[] args) throws Exception {
            //1.创建
            Socket socket = new Socket("10.0.139.160",10086);
            //2.获取输入流输出流
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"utf-8"));
            BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream(), "utf-8"));
            //3.1处理数据(发送)
            bw.write("你好啊,服务器");
            bw.newLine();
            bw.flush();
            //3.2处理数据(接收)
            String str = br.readLine();
            System.out.println("服务端跟你说:"+str);
            //4.关闭资源
            bw.close();
            socket.close();
    
        }
    }
    
    

    (3)运行结果

    先启动服务端

    服务器已经启动
    客户端说:你好啊,服务器
    
    Process finished with exit code 0
    

    再启动客户端

    服务端跟你说:你好啊,客户端
    
    Process finished with exit code 0
    
    展开全文
  • git客户端服务端

    2018-03-30 00:06:11
    gitHub于2008年4月10日正式上线,除了git代码仓库托管及基本的 Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过350万...
  • demo中包含安卓客户端代码,服务端以SpringBoot集成Netty。
  • 此项目做了netty通讯的客户端服务端,可以直接运行 注意pom文件需要添加netty依赖

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 742,289
精华内容 296,915
关键字:

客户端服务端