
Socket 网络通信
文章平均质量分 80
以不同的小例子+demo,带你揭开socket的面纱
夏至的稻穗
只要结果是正确的,过程你让我多痛苦都行
展开
-
Android NIO 系列教程(八) --NIO简易聊天室
从上面几章,我们已经知道了 NIO 的 SocketChannel ,ServerSocketChannel,Selector 等知识,这章我们来做个总结,实现一个简易的聊天室。原创 2019-07-03 13:46:22 · 1277 阅读 · 2 评论 -
Android NIO 系列教程(七) -- ServerSocketChannel
我们知道一个 tcp 的通信,除了 socket 还需要 serverSocket;所以,在学习了 SocketChannel 之后,我们来学习 ServerSocketChannel。ServerSocketChannel 用于监听 tcp 连接的通道,就像 ServerSocket,如下理解:ServerSocketChannel serverSocketChannel = ServerS...原创 2019-07-02 14:59:49 · 1329 阅读 · 0 评论 -
Android NIO 系列教程(六) -- SocketChannel
这一章,我们来学习 SocketChannel。SocketChannel 用于 Tcp 网络连接的通道,类似于非阻塞的 Socket,它可以通过以下两种方式创建:通过 SocketChannel 的open()方法,并 connect 网络上的服务器当 ServerSocketChannel 连接到一个请求,也会创建 SocketChannel。创建 SocketChannel通过...原创 2019-07-02 14:45:42 · 2321 阅读 · 0 评论 -
Android NIO 系列教程(五) -- FileChannel
在上面几章,我们已经对 Channel 有了一定的了解,这章继续来学习这几个 channelFileChannel 是 Java NIO 中一个连接文件的通道,使用 FileChannel 你可以从 文件中读取数据和写入数据;FileChannel 是阻塞IO的,这点需要注意,其他的可以参考 javadoc。创建 FileChannel我们无法直接创建FileChannel,但可以使用 In...原创 2019-07-02 14:19:25 · 2258 阅读 · 0 评论 -
Android NIO 系列教程(四) -- Selector
系列文章:Android 网络系列更新计划Android NIO 系列教程(一) NIO概述Android NIO 系列教程(二) – ChannelAndroid NIO 系列教程(三) – Buffer前面几篇文章,我们已经认识了 selector ,它是一个可以检测 一个 或 多个 channel ,并且能够知道该 channel 的读写状态的组件,通过这种方式,一个线程...原创 2019-07-01 17:39:49 · 1211 阅读 · 0 评论 -
Android NIO 系列教程(一) NIO概述
系列文章:Android Socket 系列更新计划Android Socket通信(一) – 初识与相遇Android Socket通信(二) --UDP,单播,广播和多播(组播)Android Socket通信(三) – TCP 配置和传递基础数据Android Socket通信(四) – UDP与TCP结合传输数据Android Socket通信(五) – 实现一个多人聊天室...原创 2019-07-01 11:52:55 · 5028 阅读 · 0 评论 -
Android NIO 系列教程(三) -- Buffer (ByteBuffer)
Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。Buffer 基础使用使用 buffer 进行读写,一般需要以下4个步骤:写数据到 buffer调用 buffer.flip()...原创 2019-07-01 15:27:30 · 2332 阅读 · 0 评论 -
Android NIO 系列教程(二) -- Channel
根据 英语原文 翻译过来,添加自己一些理解,英语好的,也可以直接阅读原文。ChannelNIO中的 channel 类似流,然而也有些不同:Channel 可以同时进行读写操作,而流只能单向 (read 或者 write)Channel 可以异步读写Channel 总是从 Buffer 读或者写数据如上所述,你可以通过 buffer 读数据到 channel ,也可以通过 buff...原创 2019-07-01 15:26:08 · 2398 阅读 · 0 评论 -
Android Socket(网络) 系列更新计划
##为什么写这系列文章?网上 socket 的demo都是浅尝即止,随便抛出一个 socket 的基本连接就完事了。也不考虑线程、并发问题,也不说明配置问题;每次查看都每次痛苦,所以,这里通过学习,也记录一下笔记。更新计划目前的时间计划是这样:Socket 系列文章和实例NIO 系列文章和实例Netty 系列文章和实例Socket 系列:Android Socket通信(一)...原创 2019-06-27 16:10:39 · 1274 阅读 · 3 评论 -
Android Socket通信(五) -- 实现一个多人聊天室
系列文章:Android Socket通信(一) – 初识与相遇Android Socket通信(二) --UDP,单播,广播和多播(组播)Android Socket通信(三) – TCP 配置和传递基础数据Android Socket通信(四) – UDP与TCP结合传输数据本章节要实现的效果如下:本章代码基于 第四章;在第四章中,我们已经学会了服务端和客户端之间的双向通信...原创 2019-06-27 15:49:54 · 2710 阅读 · 3 评论 -
Android Socket通信(四) -- UDP与TCP结合传输数据
系列文章:Android Socket通信(一) – 初识与相遇Android Socket通信(二) --UDP,单播,广播和多播(组播)Android Socket通信(三) – TCP 配置和传递基础数据本系列代码链接:https://github.com/LillteZheng/SocketDemo在前面几章中,我们已经学习了 tcp 和 udp 基础的方法;...原创 2019-06-26 17:31:48 · 2510 阅读 · 2 评论 -
Android Socket通信(三) -- TCP 详细配置和传递基础数据
系列文章:Android Socket通信(一) – 初识与相遇Android Socket通信(二) --UDP,单播,广播和多播(组播)[Android Socket通信(三) – TCP 配置和传递基础数据](https:)本系列代码链接:https://github.com/LillteZheng/SocketDemo上一章中,我们学习了 UDP 的基本概念,而第一张中,则...原创 2019-06-21 08:35:09 · 3145 阅读 · 0 评论 -
Android Socket通信(二) --UDP,单播,广播和多播(组播)
系列文章:Android 使用socket.io 实现实时通信在上章中,我们学习了 socket 的基本使用。但都是基于TCP的,这篇,我们来学习一些 Socket 的UDP 的操作,并了解多播和广播的概念,为接下来的局域网文件传输,打上一个很好的基础。一、认识 UDP与 TCP 不同,UDP 是一个面向数据包的传输层协议,进程的每一个输出操作都正好产生一个UDP数据报,并组装成一份待...原创 2019-06-20 15:35:27 · 11176 阅读 · 8 评论 -
Android Socket通信(一) -- 初识与相遇
众所周知,Socket 在网络编程中非常重要原创 2019-06-18 16:21:24 · 1688 阅读 · 0 评论 -
Netty 系列教程(一) 干撸一个聊天室
为什么学习 Netty在前面已经学习了 SOCKET 和 NIO ,从上几章也知道,传统的 NIO 编程,就是一个线程,对应一个selector,客户端的接入、数据读写都在一个线程,这样导致的后果就是没利用好CPU,且当接收客户端阻塞时,数据读写是进行不了的。另外,NIO 的空转100%cpu占用率的问题,我们也没有解决;笔者曾经对 NIO 进行了扩展 ,比如单独一个 线程池对应 selec...原创 2019-09-16 15:02:44 · 3204 阅读 · 0 评论