精华内容
下载资源
问答
  • websocket客户端源码

    2017-06-09 14:47:10
    项目需要 结果发现网上websocket相关的客户单实现基本为js,php等,基本没有C++实现的。根据websocket协议文档,结合以有的服务端的实现,实现了客户端握手、订阅、数据帧处理等相关功能
  • 基于MFC的websocket客户端源码,采用boost库和websocketpp-master库实现
  • /** * netty客户端连接类 * @author 关注微信公众号:程就人生,获取更多源码 * @date 2020年7月29日 * @Description * */ @Component public class NettyClient { private static Logger log = LoggerFactory....

    package com.example.im;

    import java.util.Date;

    import java.util.concurrent.TimeUnit;

    import javax.annotation.PostConstruct;

    import org.slf4j.Logger;

    import org.slf4j.LoggerFactory;

    import org.springframework.beans.factory.annotation.Autowired;

    import org.springframework.beans.factory.annotation.Value;

    import org.springframework.stereotype.Component;

    import com.example.im.codec.ByteArrayDecoder;

    import com.example.im.codec.ByteArrayEncoder;

    import com.example.im.handler.ExceptionHandler;

    import com.example.im.handler.LoginResponseHandler;

    import com.example.instant.ProtoInstant;

    import com.example.util.CharacterConvert;

    import io.netty.bootstrap.Bootstrap;

    import io.netty.buffer.ByteBuf;

    import io.netty.buffer.PooledByteBufAllocator;

    import io.netty.buffer.Unpooled;

    import io.netty.channel.Channel;

    import io.netty.channel.ChannelFuture;

    import io.netty.channel.ChannelInitializer;

    import io.netty.channel.ChannelOption;

    import io.netty.channel.EventLoop;

    import io.netty.channel.EventLoopGroup;

    import io.netty.channel.nio.NioEventLoopGroup;

    import io.netty.channel.socket.SocketChannel;

    import io.netty.channel.socket.nio.NioSocketChannel;

    import io.netty.util.concurrent.Future;

    import io.netty.util.concurrent.GenericFutureListener;

    /**

    * netty客户端连接类

    * @author 关注微信公众号:程就人生,获取更多源码

    * @date 2020年7月29日

    * @Description

    *

    */

    @Component

    public class NettyClient {

    private static Logger log = LoggerFactory.getLogger(NettyClient.class);

    // 服务器ip地址

    @Value("${netty.communication.host}")

    private String host;

    // 服务器端口

    @Value("${netty.communication.port}")

    private int port;

    private Channel channel;

    @Autowired

    private LoginResponseHandler loginResponseHandler;

    @Autowired

    private ExceptionHandler exceptionHandler;

    private Bootstrap bootstrap;

    private EventLoopGroup eventLoopGroup = new NioEventLoopGroup();

    @PostConstruct

    public void start() throws Exception {

    //启动客户端

    doConnect();

    }

    /**

    * 连接操作

    */

    private void doConnect() {

    try {

    bootstrap = new Bootstrap();

    bootstrap.group(eventLoopGroup);

    bootstrap.channel(NioSocketChannel.class);

    bootstrap.option(ChannelOption.SO_KEEPALIVE, true);

    bootstrap.option(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT);

    bootstrap.remoteAddress(host, port);

    // 设置通道初始化

    bootstrap.handler(new ChannelInitializer() {

    public void initChannel(SocketChannel ch) {

    //编解码处理

    ch.pipeline().addLast("decoder", new ByteArrayDecoder());

    ch.pipeline().addLast("encoder", new ByteArrayEncoder());

    //登录返回处理

    ch.pipeline().addLast("loginHandler", loginResponseHandler);

    //异常处理

    ch.pipeline().addLast("exception", exceptionHandler);

    }

    }

    );

    log.info("客户端开始连接");

    ChannelFuture f = bootstrap.connect();

    f.addListener(connectedListener);

    } catch (Exception e) {

    e.printStackTrace();

    log.info("客户端连接失败!" + e.getMessage());

    }

    }

    //连接关闭监听

    GenericFutureListener closeListener = (ChannelFuture f) -> {

    log.info(new Date() + ": 连接已经断开……");

    channel = f.channel();

    };

    //连接监听

    GenericFutureListener connectedListener = (ChannelFuture f) -> {

    final EventLoop eventLoop = f.channel().eventLoop();

    if (!f.isSuccess()) {

    log.info("连接失败!在10s之后准备尝试重连!");

    eventLoop.schedule(() -> doConnect(), 10, TimeUnit.SECONDS);

    } else {

    log.info("服务器 连接成功!" + f.channel().remoteAddress() + ":" + f.channel().localAddress());

    channel = f.channel();

    login();

    }

    };

    /**

    * 登录操作

    */

    private void login(){

    //构建登录请求

    ByteBuf buf = Unpooled.buffer(3);

    //登录

    buf.writeByte(ProtoInstant.LOGIN);

    buf.writeByte(ProtoInstant.DEVICE_ID);

    //校验位

    int sum = CharacterConvert.sum(ProtoInstant.FIELD_HEAD,6,ProtoInstant.LOGIN,ProtoInstant.DEVICE_ID);

    int verify = CharacterConvert.getLow8(sum);

    buf.writeByte(verify);

    writeAndFlush(buf.array());

    }

    /**

    * 发送消息

    * @param msg

    */

    public void writeAndFlush(Object msg){

    this.channel.writeAndFlush(msg).addListener(new GenericFutureListener>() {

    @Override

    public void operationComplete(Future super Void> future)

    throws Exception {

    // 回调

    if (future.isSuccess()) {

    log.info("请求netty服务器,消息发送成功!");

    } else {

    log.info("请求netty服务器,消息发送失败!");

    }

    }

    });

    }

    /**

    * 重新建立连接

    * @throws Exception

    */

    public void reconnect() throws Exception {

    if (channel != null && channel.isActive()) {

    return;

    }

    log.info("reconnect....");

    start();

    log.info("reconnect success");

    }

    /**

    * 关闭连接

    */

    public void close() {

    eventLoopGroup.shutdownGracefully();

    }

    }

    展开全文
  • websocket客户端 amphp/websocket-client是基于AmpPHP异步WebSocket客户端。 安装 该软件包可以作为依赖项安装。 composer require amphp/websocket-client 要求 PHP 7.2以上 文档和示例 更广泛的代码示例位于目录...
  • websockex:一个Elixir Websocket客户端
  • websocket客户端 websocket-client模块是Python的WebSocket客户端。 它提供对WebSockets的低级API的访问。 所有API均用于同步功能。 websocket-client仅支持 。 执照 BSD 文献资料 该项目的文档可在找到 贡献 请在...
  • WebSocket4网 流行的.NET WebSocket客户端 它是基于SuperSocket 2.0和dotnet核心的全新版本。 此版本仍在开发中,因此请暂时不要在生产中使用它。
  • DCL-Chat-Client:Websocket客户端
  • 用于PHP的异步WebSocket客户端库。 支持HyBi, 以及Hixie#76 (没有意义)。 它的构建纯粹是为了作为客户端,因为大多数可用的WS客户端也包含服务器,而且非常肿。 安装 使用作曲家: composer require calcinai/...
  • websocket客户端C++实现源码+websocket服务端EXE。网上找了很久没有找到websocket客户端的实现代码。就自己动手实现了。
  • 同步PHP Websocket客户端 安装 composer require mwyd/psockets 用法 <?php $ loader = require_once __DIR__ . "/vendor/autoload.php" ; use pSockets\ WebSocket \ WsClient ; use pSockets\ WebSocket \ ...
  • wscljs:用于ClojureScript的轻巧的瘦Websocket客户端
  • 用于Android webSocket客户端 信誉:此android库使用 安装 1-将其添加到存储库末尾的root build.gradle中: allprojects { repositories { .. . maven { url ' https://jitpack.io ' } } } 2-添加依赖 ...
  • MagicSocketDebugger:套接字调试工具,TCP服务器,TCP客户端,websocket服务器,websocket客户端,心跳包(基于qt5.9)----套接字调试工具,TCP服务端,TCP客户端,WebSocket服务端,WebSocket客户端,心跳包(基于...
  • jessiclient
  • POE-Component-Client-Websocket:兼容多任务(POE)的WebSocket客户端
  • Phoenix频道的光滑websocket客户端 请参阅 主要特点 由:gun而不是:websocket_client (请参阅) 一个await_*接口,用于进行交互 内置与phoenix.js匹配的 客户的 发出 安装 在mix.exs向您的依赖项添加补充流: def...
  • WebSocket客户端和服务端实例源码 WebSocket ws实例 HTML5 用java实现的服务端 Websocket与服务器的正常通信 可以用客户端测试任意语言的服务端,也可以用服务端测试任意语言的客户端 众所周知,Web 应用的交互过程...
  • 枪:用于ErlangOTP的HTTP1.1,HTTP2和Websocket客户端
  • java websocket 服务端 客户端源码。实现转发功能。接收南向接口调用,并转发南向消息到北向接口,返回北向返回的消息给南向。
  • WebSocket客户端和服务端实例源码

    千次下载 热门讨论 2015-08-14 13:30:01
    WebSocket客户端和服务端实例源码 WebSocket ws实例 HTML5 用java实现的服务端 Websocket与服务器的正常通信 众所周知,Web 应用的交互过程通常是客户端通过浏览器发出一个请求,服务器端接收请求后进行处理并返回...
  • 它还具有静默重新连接逻辑,以在客户端未看到任何数据但套接字保持打开状态时提供帮助。 CCXWS使用与CCXT库生成的市场结构相似的市场结构。 这允许CCXT提供的RESTful接口与CCXWS提供的实时接口之间的互操作性。 ...
  • 用Qt自带QWebSocketServer和QWebsocket模块实现websocket服务端、客户端通信,附带源码
  • 浏览器的Websocket客户端,最适合与。 根据版本13的制作的非常小但非常强大的库。 安装 npm install --save regoch-websocket-browser 网站 Websocket客户端浏览器功能 websocket版本: 13 子协议: 在房间里聊天...
  • 易语言websocket客户端源码(无模块)

    千次阅读 2019-05-19 17:01:00
    局部变量 ws, WebSocket .局部变量 i, 整数型 .如果真 (ws.连接 (“ws: // 127.0.0.1:8080/”)) ws.发送 (到字节集 (“I ' m coming”)) .计次循环首 (ws.接收 (封包), i) .如果真 (封包 [i] = 到字节集 (...

     

     

    下载地址:https://6yunpan.pipipan.com/fs/17009107-375104141

    以下是部分代码,完整代码请自行去下载

    .版本 2
    
    .程序集 Main
    
    .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
    .局部变量 WSAData, WSADATA
    
    ' 本源码来自易语言资源网
    ' (www.eyuyan.la)
    .如果真 (WSAStartup (514, WSAData) ≠ 0)
        输出调试文本 (“WSA 初始化失败”)
        返回 (0)
    .如果真结束
    ' 改自此帖开源  感谢原作者开源 https://bbs.125.la/forum.php?mod=viewthread&tid=14039123&highlight=websocket
    ' 有问题私信论坛
    
    测试程序 ()
    返回 (0)  ' 可以根据您的需要返回任意数值
    
    .子程序 测试程序
    .局部变量 封包, 字节集, , "0"
    .局部变量 ws, WebSocket
    .局部变量 i, 整数型
    
    .如果真 (ws.连接 (“ws://127.0.0.1:8080/”))
        ws.发送 (到字节集 (“I'm coming”))
        .计次循环首 (ws.接收 (封包), i)
            .如果真 (封包 [i] = 到字节集 (“心跳”))
                ws.发送 (到字节集 ("好巧 我的心也在跳")
            .如果真结束
            .如果真 (封包 [i] = 到字节集 (“停止心跳”))
                跳出循环 ()
            .如果真结束
            Sleep (100)
        .计次循环尾 ()
        ws.断开 ()

     

    转载于:https://www.cnblogs.com/xiazai/p/10889848.html

    展开全文
  • 您的插件名称 在此处添加您的插件徽章。 例如,请参见 。 然后描述一下插件的目的。 如果您开发UI插件,可以在此处添加一些屏幕截图。 (可选)先决条件/要求 ... websocket : { url : 'ws://127.0.0.1:5280' }
  • WebSocket:Java SE 7 + Android轻量级WebSocket客户端服务器软件包(RFC 6455)
  • 适用于nodeJS的Websocket客户端,最适合与。 根据版本13的制作的非常小但非常强大的库。 安装 npm install --save regoch-websocket-nodejs 网站 Websocket服务器功能 网络套接字版本: 13 子协议: 在房间里...
  • Ubuntu下搭建Mqtt服务,跑Websocket JS客户端源码。参考:https://blog.csdn.net/fcoolt/article/details/82344482
  • 和的异步websocket客户端/服务器实现。 用法 请参阅或使用bake utopia:project:serve在本地bake utopia:project:serve 。 贡献 我们欢迎对此项目的贡献。 叉它 创建功能分支( git checkout -b my-new-feature ) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 831
精华内容 332
关键字:

websocket客户端源码