- 博客(4)
- 收藏
- 关注
翻译 为什么多个客户端可以连接服务器的同个端口?
平时我们使用ServerSocket指定了某个端口(例如8080),然后多个客户端连接上socket之后就都用这个8080端口和服务器端通讯。或者http服务器使用80端口也是和多个浏览器进行连接通讯。为什么可以这样呢?操作系统的进程在同个端口的多个连接是如何进行分辨的?译文我们这里讲Socket连接: 1. 端口只是一个数字辨识,不是真正的物理端口; 2. 一个Socket连接的主键(即不同
2017-09-07 18:03:44 21977 12
原创 java网络编程(四)----异步非阻塞aio及proactor模型
(aio)NIO 2.0引入了新的异步通道的概念,并提供了异步文件通道和异步套接字通道的实现。异步的套接字通道时真正的异步非阻塞I/O,对应于UNIX网络编程中的事件驱动I/O(AIO)。他不需要过多的Selector对注册的通道进行轮询即可实现异步读写,从而简化了NIO的编程模型。jdk7以前的nio是非阻塞IO,操作系统底层比方说linux,是用IO复用select或者epoll实现的,也不是异
2017-09-05 17:23:03 972
原创 java网络编程(三)----同步非阻塞nio及reactor模型
很多刚接触NIO的人,第一眼看到的就是Java相对晦涩的API,比如:Channel,Selector,Socket什么的;然后就是一坨上百行的代码来演示NIO的服务端Demo,所以这里我们人性化地简单介绍一下。 NIO我们一般认为是New I/O(也是官方的叫法),因为它是相对于老的I/O类库新增的(其实在JDK 1.4中就已经被引入了,但这个名词还会继续用很久,即使它们在现在看来已经是“旧”
2017-09-05 13:59:40 4235
原创 java网络编程(二)----同步阻塞bio
网络编程的基本模型是C/S模型,即两个进程间的通信。 服务端提供IP和监听端口,客户端通过连接操作想服务端监听的地址发起连接请求,通过三次握手连接,如果连接成功建立,双方就可以通过套接字进行通信。传统的同步阻塞模型开发中,ServerSocket负责绑定IP地址,启动监听端口;Socket负责发起连接操作。连接成功后,双方通过输入和输出流进行同步阻塞式通信。 简单的描述一下BIO的服务端通
2017-09-05 09:42:48 975
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人