FastSocket客户端/服务端通讯示例 客户端被动接收

示例代码参见  http://www.cnblogs.com/T-MAC/p/fastsocket-asyncbinary-usage.html

我这里只写一份客户端如何被动接收的代码。   先从AsyncBinarySocketClient继承定义一个客户端类,重载OnConnected,OnDisconnected,OnMessageReceived等方法。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Sodao.FastSocket.SocketBase;
using Sodao.FastSocket.Client;

namespace MaxCode
{
    public class MyClient : AsyncBinarySocketClient
    {
        public MyClient(int socketBufferSize,
            int messageBufferSize,
            int millisecondsSendTimeout,
            int millisecondsReceiveTimeout)
            : base(socketBufferSize, messageBufferSize, millisecondsSendTimeout, millisecondsReceiveTimeout)
        {

        }

        protected Encoding encode = Encoding.GetEncoding("utf-8");
        protected override void OnMessageReceived(IConnection connection, MessageReceivedEventArgs e)
        {
            if(e.Buffer!=null && e.Buffer.Count>0)
                MessageBox.Show(encode.GetString(e.Buffer.Array));
            base.OnMessageReceived(connection, e);
        }

        protected override void OnConnected(IConnection connection)
        {
            bConnected = true;
            base.OnConnected(connection);
        }

        protected override void OnDisconnected(IConnection connection, Exception ex)
        {
            bConnected = false;
            base.OnDisconnected(connection, ex);
        }

        private bool bConnected = false;
        public bool Connected
        {
            get { return bConnected; }
        }

    }
}

然后在主程序中实例化本类

 var client = new MaxCode.MyClient(8192, 8192, 3000, 3000);
 //注册服务器节点,这里可注册多个(name不能重复)
 client.RegisterServerNode("127.0.0.1:8401", new System.Net.IPEndPoint(System.Net.IPAddress.Parse("127.0.0.1"), 8401));

然后我们就可以通过重载的OnMessageReceived方法接收来自服务端的消息了。

希望对大家有所帮助。
时间: 2024-09-30 22:52:13

FastSocket客户端/服务端通讯示例 客户端被动接收的相关文章

服务端主动给客户端推送消息

在了解这个之前,先要知道ajax,队列和递归 ajax操作 异步提交,局部刷新.用它就可以实现轮询/长轮询 创建django项目 views from django.shortcuts import render,HttpResponse import json from django.http import JsonResponse # Create your views here. # 验证ajax def ab_dy(request): if request.method == 'post

[发布]SuperIO v2.2.5 集成OPC服务端和OPC客户端

SuperIO 下载:本站下载 百度网盘 1.修复串口号大于等于10的时候导致IO未知状态. 2.优化RunIODevice(io)函数内部处理流程,二次开发可以重载这个接口. 3.优化IO接收数据,提高运行效率. 4.优化OPC服务器端操作类库. 5.在Demo增加OPC服务端和OPC客户端事例源代码. [SuperIO教程]10.集成OPC Server和OPC Client插件服务 介绍 OPC服务端 OPC客户端 作者QQ:504547114 交流QQ群:54256083 官方网址:ht

java网络编程TCP传输—流操作—服务端反馈与客户端接收

在读取完流后,服务端会向客户端返回一些数据,告诉客户端,已经写完了. 在这里和”流操作—拿到源后的写入动作“差不多,客户端同样以byte与Buffered两种缓冲读取作为例子,同时,.也是希望大家给补充. 1.利用OutputStream向客户端回写,客户端用byte作为缓冲接收 向客户端回写: 1 //获取socket输出流,将上传成功字样传给客户端 2 OutputStream out=s.getOutputStream(); 3 out.write("上传成功".getBytes

Web Service学习之服务端搭建与客户端调用

?工作中用到了Web Service,但是对这块不是很熟悉,决定花时间学习一下,现在记录一下最基本的入门知识点. 使用Java搭建Web Service服务端,使用Python脚本调用接口. 一.Web Service服务端 1.在Eclipse中新建一个Java工程,新建test.TestWebService类 package test; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService public 

Android版网络办公系统应用客户端+服务端

该项目源码是Android版网络办公系统应用客户端+服务端,也是一个简单的网上办公系统的Android客户端,项目有服务端和客户端部分的源码的,客户端开发环境eclipse  AVD版本 4.0服务器 phpStudy 2013集成环境 Apache+php5.3+ISAPI模式 phpStudy 2013集成环境绿色版下载http://www.phpstudy.net/phpstudy/phpStudy2013d.zip官网   http://www.phpstudy.net/ android

网易新闻应用源码完整版客户端+服务端源码

这个源码是从安卓教程网android分享过来的,看到这个项目比较不错,就转了.网易新闻应用源码完整版客户端+服务端源码,仿网易新闻,android端+服务器端1,为了加快访问速度,服务器端数据是写死了的,数据太多的就复制粘贴了,不是数据库查询的2,新闻图片下载代码注释掉了(网速给力的可以放开注释),显示的是默认图片 3.运行时记得改android端Constantvalues类里面的IP地址4,  UI结合使用的挺不错的等.<ignore_js_op>   <ignore_js_op&g

SVN服务器搭建和使用(一)--下载、安装VisualSVN server 服务端和 TortoiseSVN客户端

前言: 在http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html的博客中已经很详细地介绍了SVN的服务器--VisualSVN server和客户端--TortoiseSVN的下载与安装.但笔者在按照其中的方法进行下载.安装时发现了此文遗漏了一些重要的细节,所以本文在搬运原文的基础上补上一些遗漏的细节,帮助读者只需看本页面即可完成所有的工作,而不必像我之前那样百度好几个才弄好.   一.SVN服务器--VisualSV

Android应用性能测试(客户端-服务端)平台实现

Android应用性能测试(客户端-服务端)平台实现 东海陈光剑 2014年5月23日 2:01:05 开源项目代码: https://github.com/universsky/EmmageePlus (基于Emmagee) https://github.com/universsky/EmmageePlus/blob/master/src/com/netease/qa/emmagee/service/EmmageeService.java /* * Copyright (c) 2012-201

WCF 大数据量如何从服务端传到客户端

当数据量很大时,想要从服务端传到客户端可能会遇到这几个问题:基础连接意外关闭:内存溢出:或时间过长. 下面是我在项目中实现客户端导出txt文件时解决方法.txt有150M左右. namespace XSGLSRV900 //服务端接口实现 { public class XSGLService : IXSGLService { //这些变量只能是静态的,如果是非静态的,在客户端每一次调用服务端都认为是新建一个服务对象,这些值将不再能读取到.关于WCF服务端的三种模式可参考http://www.cn