socket
挣扎在温饱线上的菜鸟
菜鸟
展开
-
互联网技术17——socket编程之BIO
TCP直连接Socket与ServerSocket,先看代码服务端:Server.javapackage com.socketBio;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;/** * Created by BaiTianShi on 2018/8/29....原创 2018-08-30 22:47:17 · 217 阅读 · 0 评论 -
互联网技术18——socket编程之NIO
NIO同步非阻塞NIO是同步非阻塞的,在传统的TCP点对点直接连接的基础上做了一层封装,并不是Client与Server直接建立连接,而是Client先到Server端进行管道注册。在Server端创建一个Selector多路复用器,启动一个线程轮询注册到Selector上的所有Channerl的状态,根据通道的状态,执行相关操作。通道的状态包括: Connect连接状态、Accept阻塞状态...原创 2018-08-31 01:55:04 · 273 阅读 · 0 评论 -
互联网技术20——netty入门
Socket网络通信编程--NettyNetty是一个提供异步事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络服务器和客户端程序。换句话说,Netty是一个NIO框架,使用它可以简单快速的开发网络应用程序,比如客户端和服务端的协议。Netty大大简化了网络程序的开发过程中比如TCP和UDP的Socket开发。“快速和简单”并不意味着应用程序会有难维护和低性能的问题,Netty...原创 2018-09-05 02:51:05 · 383 阅读 · 0 评论 -
互联网技术21——netty拆包粘包
Netty拆包粘包在基于流的传输里比如TCP/IP,接收到的数据会先被存储到一个socket接收缓冲里。不幸的是,基于流的传输并不是一个数据包队列,而是一个字节队列。即使你发送了2个独立的数据包,操作系统也不会作为2个消息处理而仅仅是作为一连串的字节而言。因此这是不能保证你远程写入的数据就会准确地读取。 参考资料:http://ifeve.com/netty5-user-guide常用的...原创 2018-09-09 00:16:48 · 194 阅读 · 0 评论 -
互联网技术22——netty编解码技术与数据通信
Netty服务部署常用的部署方式有2中,一种是耦合在Web应用中(以Tomcat为例),使其伴随Tomcat的启动而启动,伴随Tomcat的关闭而关闭。另外一种则是将Netty独立打包部署,然后由单独的进程启动运行(可以使用shell或其他脚本进行启动),然后以数据库或者其他缓存为承接点,实现数据交互。Netty与其他程序进行交互,然后将获取到的数据进行处理插入数据库或者缓存,然后其他服务从中...原创 2018-09-09 01:33:09 · 192 阅读 · 0 评论 -
互联网技术19——scoket编程中的AIO通信
传统的BIO建立连接需要三次握手,并且在服务器端创建一个线程取处理客户端请求,在NIO中,客户端channel通道注册到多路复用器上的,减少三次握手的过程,在服务器端只需要一个线程去轮询注册到多路复用器上的channel的状态位,根据不同状态执行不同操作。 JDK1.7之后,AIO在之前NIO基础上引入异步通道的概念,并提供了异步文件和异步套接字通道的实现,实现了异步非阻塞。AIO不需要通...原创 2018-09-04 01:12:20 · 378 阅读 · 0 评论 -
互联网技术23——心跳检查及sigar的使用示例
心跳检测示例中需要结合sigar,所以这里先演示一下sigar的使用。1.首先要下载sigar包,导入包或使用maven依赖导入2.这点一定要注意,Sigar工具类下载地址需要将相应系统的DLL库放入jdk或jre的bin目录下才可以正常使用 Windows下配置:根据自己的操作系统版本选择sigar-amd64-winnt.dll或sigar-x86-winnt.dll拷贝到C:\...原创 2018-09-16 15:13:25 · 516 阅读 · 0 评论