概述 在 Netty学习(3)中,我们已经学习了 Buffer 和 Channel 的概念, 接下来就让我们通过实现一个 NIO 的多人聊天服务器来深入理解 NIO 的第 3个组件: Selector 。 目的 在本文中,我们将通过实现一个网络聊天室程序,来掌握 Selector 的概念以及如何使用 ...
分类:
Web程序 时间:
2020-03-11 10:54:46
阅读次数:
67
Java网络通信中AIO使用,既可以在并发情况下减少cpu对内存的占用(异步非阻塞的AIO某种程度可以替代多线程),又相对于传统NIO编程更容易上手。官方提供了两种方式实现AIO的异步通信代码风格,一种是回调方式,另种是future方式。本文针对后者提供一个聊天室的案例。因为全future模式相对于... ...
分类:
其他好文 时间:
2020-03-10 14:21:49
阅读次数:
139
`WebSocket TCP UDP WebSocket`不仅可以客户端和客户端之间通信,服务端也可以直接发送消息给客户端。 下面实现的一个多人的在线聊天室,前台聊天框是在网上找的模板,该聊天室具有的功能如下 1. 当一个客户端进入之后,其他客户端会看到系统消息提示(某某某进入了聊天室) 2. 客户 ...
分类:
Web程序 时间:
2020-03-08 18:04:45
阅读次数:
224
@[toc] 服务器端 (1) 创建ServerSocket对象,绑定监听端口; (2) 通过accept()方法监听客户端请求; (3) 连接建立后,通过输入流读取客户端发送的请求信息; (4) 通过输出流向客户端发送相应信息; (5) 关闭响应资源。 客户端 (1) 创建Socket对象,指明需 ...
分类:
其他好文 时间:
2020-03-08 17:31:44
阅读次数:
74
1. 进程 VS 线程 2. 多线程 - threading 3. 创建多线程 - Thread 子类 4. 同步 5. 死锁 6. 生产者与消费者模式 1. 进程VS线程 定义 进程是资源分配的最小单位,线程是CPU调度的最小单位。 一个程序启动后至少有一个进程,一个进程至少有一个线程。线程不能够 ...
分类:
编程语言 时间:
2020-03-08 14:30:56
阅读次数:
70
猛烈地欢喜后,才发现什么都没留下。他们都说,我像个小孩。喜欢就是喜欢,讨厌就是讨厌。喜欢,喜欢得紧。讨厌,讨厌得很。所有事非黑即白一定要分的清楚。我也乐在其中,也甘愿一辈子当个小孩。不喜欢模模糊糊,不喜欢暧昧不清。在昨天你的那句晚安后,今早起来我发现一切都变了。起来时迫切地想要看到你的消息,可是点开... ...
分类:
其他好文 时间:
2020-03-07 12:48:36
阅读次数:
78
工作日模式7-7.30:听歌,充电,开机,烧水,洗漱,泡茶,写计划,回信息7.30-8点:看新闻,吃早餐8-9:坐车,玩手机9-12:编程12-13.30:吃饭,玩手机,午休13.30-18.30:编程18.30-19:吃饭18.30-19.30:坐车19.30-20.30:打电话,玩手机20.30 ...
分类:
其他好文 时间:
2020-03-07 09:45:02
阅读次数:
76
import socketserver #创建类并继承基本类 class Myserver(socketserver.BaseRequestHandler): #继承handle类 def handle(self): while True: conn = self.request print(con ...
分类:
其他好文 时间:
2020-03-06 19:22:03
阅读次数:
52
解题思路: 用散列表(链表结构) 1、计算散列表长度(取比输入数据大一点的素数p) 2、构造散列函数 3、读入数据,求出散列位置插入 4、一边遍历散列表,一边求出现最多的电话狂人 #include <stdio.h> #include <malloc.h> #include <string.h> # ...
分类:
其他好文 时间:
2020-03-06 13:00:47
阅读次数:
75
什么是Websocket 我们在传统的客户端程序要实现实时双工通讯第一想到的技术就是socket通讯,但是在web体系是用不了socket通讯技术的,因为http被设计成无状态,每次跟服务器通讯完成后就会断开连接。 在没有websocket之前web系统如果要做双工通讯往往使用http long p ...
分类:
Web程序 时间:
2020-03-05 09:11:52
阅读次数:
95