当前位置: 首页 > 软件库 > 程序开发 > 网络工具包 >

smart-socket

基于Java AIO实现的异步通信框架
授权协议 Apache
开发语言 Java
所属分类 程序开发、 网络工具包
软件类型 开源软件
地区 国产
投 递 者 晏志明
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

smart-socket是一款国产开源的Java AIO框架,追求代码量、性能、稳定性、接口设计各方面都达到极致。如果smart-socket对您有一丝帮助,请Star一下我们的项目并持续关注;如果您对smart-socket并不满意,那请多一些耐心,smart-socket一直在努力变得更好。

版本说明

系列 最新版 文档 说明
1.3 1.3.25 暂停维护 企业级,已稳定运行在众多企业的生产环境上
1.4 1.4.5 smart-socket技术小册 暂无

特色:

  1. 代码量极少,可读性强。核心代码仅1千行左右。
  2. 学习门槛低,二次开发只需实现两个接口。
  3. 资源利用率高,性能爆表,充分压榨CPU、带宽。
  4. 提供丰富的插件式服务,包括:心跳插件、断链重连插件、服务监控插件、黑名单插件、内存池监测插件。

哪些项目在用smart-socket?

  1. smart-http 国内首款基于smart-socket实现的Http服务器
  2. irtu-gps 基于iRTU项目,实现GPS数据的接收和展示

社区互助

如果您在使用的过程中碰到问题,可以通过下面几个途径寻求帮助,同时我们也鼓励资深用户给新人提供帮助。

  1. 加入QQ群:830015805
  2. Email:zhengjunweimail@163.com
  3. 开源问答

参与贡献

我们非常欢迎您的贡献,您可以通过以下方式和我们一起共建 ��

  • 在您的公司或个人项目中使用 smart-socket。
  • 通过 Issue 报告 bug 或进行咨询。
  • 提交 Pull Request 改进 smart-socket 的代码。
  • 在开源中国发表smart-socket相关的技术性文章。
  • 1.smart-socket 《官方文档》 smart-socket是一款国产开源的 Java AIO 通信框架,支持 TCP、UDP、SSL/TLS 。 高性能、高并发、低延迟、低能耗 代码量极少,可读性强。核心代码不到 1500 行,工程结构、包层次清晰。 学习门槛低,二次开发只需实现 2 个接口(Protocol、MessageProcessor),具备通信开发经验的几乎无学习成本。 良好的

  • 这是一篇关于内存管理算法的文章,对于Java开发者而言这个话题比较遥远。 虽然我们日常开发中一直在跟内存打交道,但很少关注过内存管理的具体细节,毕竟JVM已经做得很好了。 然而在高并发场景下,程序运行过程中产生的大量内存对象,会造成一定的GC负担,这直接影响着程序运行性能。如果能缓解一部分GC压力,节省下来的系统资源便会对性能有显著的提升,由此便衍生出了池技术。      本次我们分享的内存池技术

  • RPC是目前被广泛应用于互联网服务的一项技术,关于它的基本介绍大家可通过百度了解一下,此处不再赘述。 正所谓读万卷书不如行万里路,原理性的文章看的再多都不如亲自实现一遍RPC,方可对其了解的更加透彻。 本文将以纯技术视角,为大家演示一下RPC的工作原理与实现方案。 正式开始之前,先罗列一下实现RPC需要运用到的技术点: 1. 通信 2. 序列化/反序列化 3. 反射 4. 动态代理 在具体实现上除

  • 不少的朋友在接触到smart-socket后,一上来就想写一个字符串通信的案例。例如客户端发送"Hello Server!",服务端接收到该消息并响应"Hi Client!"。但最终发现客户端可以成功将消息发送出去,但服务端就是无法正常接收。那是不是这个smart-socket框架不行?为什么原先用Netty很简单就实现了? 也许您是第一次接触通信,又或者此前有过一些通信编程经历,但只要无法用sm

  • smart-socket是一个基于Java语言开发的开源项目,旨在提供一种高效的、可扩展的、易于使用的Java socket编程框架。它支持TCP和UDP协议,可以帮助开发人员快速构建分布式应用程序。 smart-socket的目标是为Java开发人员提供一种简单的方法来使用Socket编程,让他们能够更轻松地构建分布式应用程序。它提供了一系列的工具和功能,可以帮助开发人员实现快速开发、高性能、可

  • 本文来自CSDN博客,转载出处:http://blog.csdn.net/wwwsq/archive/2010/08/10/5800790.aspx server: #include <stdlib.h> #include <stdio.h> #include <string.h> #include <errno.h> #include <fcntl.h> #include <endia

  • 因为我的毕业设计要用到网络,一开始我就打算做 IOCP Server,我想用最好的方法去实现,结果发现啃不动,于是就从这个示例程序开始吧! 客户端代码: /* * 文件:简单示例(客户端) * 说明:项目中需包含 Ws2_32.lib,或使用 #pragma once */ #include <stdio.h> #include <WinSock2.h> #define LENGTH 1

  • Socket是Windows与网络的接口。Windows通过Socket把数据格式转换成网络传输格式,也把网络数据格式转换成Windows格式。Socket可以使用面向连接的协议(如TCP),也可以使用无连接的协议(如UDP)。 socket是套接字的意思,一般用来描述IP地址和端口,是一个通信链的句柄。应用程序通常通过套接字向网络发出请求或者应答网络请求。 摘一段比喻,有助于理解。 socket

  • 什么是 socket?   你经常听到人们谈论着 “socket”,或许你还不知道它的确切含义。现在让我告诉你:它是使用 标准Unix 文件描述符 (file descriptor) 和其它程序通讯的方式。 什么? struct sockaddr.。这个结构 为许多类型的套接字储存套接字地址信息: struct sockaddr {    unsigned short sa_family; /*

  • /******************************A simple Linux Socket******************************************* * *************************************************************************************************/ #in

  • Written by Sean R. Owens (sean at guild dot net). Share and enjoy.  http://darksleep.com/player These are simple examples of how to use sockets in Java. These examples do NOT cover socket channels, no

  • 什么是套接字 网络协议栈通过套接字向引用程序提供传输数据的服务。 套接字是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。通过应用程序对socket进行操作完成数据通讯,而不用关注数据具体是如何传输到另外的一个网络进程。 套接字作用 通过套接字完成两个应用程序之间的数据传输。 网络中不同主机上的应用进程之间进行双向通信的端点的抽象, 一个套接字,就是网络上通信的一端,提供了应用层进程利用

  • SuperSocket is an extensible socket application framework. You can use it to build a command based server side socket application easily without thinking about how to use socket, how to maintain the s

  • Smart Client智能客户端技术初探  IssueVision 学习笔记(一) IssueVision 学习笔记(二)-----为控件添加自定义属性和事件 IssueVision 学习笔记(三)-----设计模式之OBSERVER(观察者)模式 Smart Client Developer Center http://www.microsoft.com/china/msdn/events/f

  • 我正在研究有关网络同步的项目。 由于我想获得最佳性能,因此我尝试将软件时间戳记结果与硬件时间戳记结果进行比较。 我已经关注了这个先前发表过的问题: Linux内核UDP接收时间戳,但是经过几次测试,在尝试获取硬件接收时间戳时遇到了一些问题。 我的场景由两台设备,一台PC和一台Gateworks Ventana板组成,这两个设备都应该等待数据包在其网络中广播并加盖其接收时间,我尝试使用此代码(省略了

  • 执行adb shell命令遇到错误提示: C:\Users\tester>adb shell ps|grep demo error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: 通常每个套接字地址(协议/网络地址/端口)只 允许使用一次。 (10048) This application has

  •   什么是Smart Client?     Smart Client 即 “智能客户端”.从技术上说Smart Client并不是一种新的技术,而是将许多概念,设计方法和技术进行了融合,吸取了传统B/S(瘦客户端)的易于版本控制和更新以及C/S(胖客户端) 用户界面强大,使用客户机资源的特点. 在服务器端可以用WebService,在客户端可以用WinForm.     Smart Client

 相关资料
  • 本文向大家介绍基于Java语言实现Socket通信的实例,包括了基于Java语言实现Socket通信的实例的使用技巧和注意事项,需要的朋友参考一下 基于Java语言实现Socket通信 由于近日项目需求,需要在服务器中增加Socket通信的功能,接收硬件设备发送的心跳包和相关数据,因此又重新对Java的网络编程进行了复习,根据项目的实际情况做了简化的编程,实现了简单的通信过程。 1. Socket

  • 本文向大家介绍详解C# Socket异步通信实例,包括了详解C# Socket异步通信实例的使用技巧和注意事项,需要的朋友参考一下 TCPServer  1、使用的通讯通道:socket 2、用到的基本功能: ①Bind, ②Listen, ③BeginAccept ④EndAccept ⑤BeginReceive  ⑥EndReceive 3、函数参数说明 新建socket所使用的参数均为系统预

  • 本文向大家介绍基于C#的socket编程的TCP异步的实现代码,包括了基于C#的socket编程的TCP异步的实现代码的使用技巧和注意事项,需要的朋友参考一下 一、摘要 本篇阐述基于TCP通信协议的异步实现。 二、实验平台 Visual Studio 2010 三、异步通信实现原理及常用方法 3.1 建立连接  在同步模式中,在服务器上使用Accept方法接入连接请求,而在客户端则使用Connec

  • 主要内容:本节引言:,1.服务端实现步骤:,2.客户端实现步骤:,本节小结:本节引言: 本节给大家带来Socket的最后一节:基于UDP协议的Socket通信,在第一节中我们已经详细地 比较了两者的区别,TCP和UDP最大的区别在于是否需要客户端与服务端建立连接后才能进行 数据传输,如果你学了前两节TCP的,传输前先开服务端,accept,等客户端接入,然后获得 客户端socket然后进行IO操作,而UDP则不用,UDP以数据报作为数据的传输载体,在进行传输时 首先要把传

  • 本文向大家介绍Android基于socket实现的简单C/S聊天通信功能,包括了Android基于socket实现的简单C/S聊天通信功能的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android基于socket实现的简单C/S聊天通信功能。分享给大家供大家参考,具体如下: 主要想法:在客户端上发送一条信息,在后台开辟一个线程充当服务端,收到消息就立即回馈给客户端。 第一步:创建一个继

  • 主要内容:本节引言:,1.运行效果图:,2.实现流程图:,3.代码示例:,4.代码下载:,5.本节小结:本节引言: 上节中我们给大家接触了Socket的一些基本概念以及使用方法,然后写了一个小猪简易聊天室的 Demo,相信大家对Socket有了初步的掌握,本节我们来学习下使用Socket来实现大文件的断点续传! 这里讲解的是别人写好的一个Socket上传大文件的例子,不要求我们自己可以写出来,需要的时候会用 就好! 1.运行效果图: 1.先把我们编写好的Socket服务端运行起来: 2.将一个音