1 channel.register(selector, SelectionKey.OP_READ) 和 key.interestOps(SelectionKey.OP_WRITE)有什么区别?
首先看看register源代码:
public final SelectionKey register(Selector sel, int ops, Object att) throws ClosedChannelException
{
if (!isOpen()) throw new ClosedChannelException();
if ((ops & ~validOps()) != 0)
throw new IllegalArgumentException();
synchronized (regLock)
{
if (blocking) throw new IllegalBlockingModeException();
SelectionKey k = findKey(sel);
if (k != null)
{
k.interestOps(ops); k.attach(att);
}
if (k == null)
{ // New
registration k = ((AbstractSelector)sel).register(this, ops, att);
addKey(k);
}
return k;
}
}
从红色代码只注册会判断每次是否已经注册过,那么在实际程序开发中,当一件事情已经注册过时,下次通过调用 key.interestOps()来进行感兴趣事件的切换
分享到:
相关推荐
以上就是使用Java Socket编程实现文件上传涉及到的主要知识点,包括Socket通信机制、文件I/O、数据库操作、异常处理、多线程、安全性和性能优化等方面。理解并掌握这些内容,对于开发高效、可靠的文件上传系统至关...
总结来说,通过Java Socket实现屏幕网络监控需要掌握以下知识点: 1. Java Socket编程基础:包括ServerSocket和Socket的使用,以及连接建立和断开。 2. 图像处理:如何捕获屏幕、编码和解码图像,以及选择合适的...
以下是关于Java Socket通信实现的详细知识点: 1. **Socket基础**: - **Socket类**:Java中的`java.net.Socket`类代表一个TCP连接,它封装了输入/输出流,使得数据可以在连接的两端进行传输。 - **ServerSocket...
### JAVA-socket开发指南知识点详解 #### 一、教程简介与目标读者 本文档主要针对初学者介绍Java中Socket编程的基础知识以及实际应用案例。如果你是刚接触Socket编程的新手,希望通过Java语言来掌握Socket的基本...
"Java Socket传输图片源代码"这个主题涵盖了以下几个关键知识点: 1. **Java Socket基础**: - Socket是TCP/IP协议族的一部分,用于在网络应用程序之间建立双向通信通道。Java的`java.net.Socket`类和`...
4. **CINDY开源包**:CINDY(可能是指特定的开源库,但这里没有足够的信息详细解释)在Java Socket开发中的作用可能是提供额外的功能,比如简化网络通信、处理数据编码解码、异常处理等。具体使用方法需查阅CINDY的...
### 使用Java Socket开发小型服务器的关键知识点 #### 一、客户机/服务器模型 客户机/服务器模型是一种典型的网络通信架构,其中服务器负责处理客户端发送过来的请求。这种模型的核心是将数据表示与数据处理和存储...
在本程序中,我们主要探讨以下几个关键知识点: 1. **Java Socket API**: Java Socket是Java提供的网络编程接口,它允许两台计算机通过网络进行双向通信。Socket分为ServerSocket和Socket两种类型,ServerSocket...
总结,Java Socket查询数据库实现登录验证涉及了网络编程、数据库操作以及安全性策略等多个知识点。理解并掌握这些内容对于开发安全、可靠的网络应用至关重要。在实际项目中,还需要注意异常处理、性能优化以及安全...
### Java Socket 图片传输知识点详解 #### 一、TCP协议简介 传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在互联网的应用中,TCP协议提供了一种...
Java Socket聊天系统是一种基于TCP/IP协议的网络...理解并掌握这些知识点,不仅可以构建出功能丰富的聊天应用,也为其他类型的网络服务奠定了基础。在实践中,我们需要不断优化和改进,以满足用户的需求和性能要求。
以下是对这个Java Socket聊天室项目的详细知识点解析: 1. **Java Socket API**: Java Socket API是Java提供的用于网络通信的低级接口,它允许应用程序创建和维护到其他主机上的进程的双向通信链接。在聊天室项目...
下面将详细介绍Java Socket Server机器人的关键知识点: 1. **服务器端创建**:首先,我们需要创建一个`ServerSocket`实例,指定一个端口号。这通常在`main`方法中完成,例如: ```java ServerSocket ...
本文将详细探讨Java Socket网络编程中的关键知识点。 首先,我们回顾一下网络通信的发展历史。通信技术的发展经历了从原始的信号传递到近代的电视和通信,再到计算机网络的出现。特别是随着计算机网络的普及,数据...
以下是这些知识点的详细说明: 1. **点对点(P2P)网络**:在P2P网络中,每个节点既是服务提供者也是服务消费者。这种网络架构不再依赖中心服务器,而是允许节点之间直接进行交互和数据交换。P2P网络常用于文件共享...
总的来说,这个项目涵盖了Java编程、网络通信、图形界面设计以及人工智能等多个IT领域的知识点。通过这个项目,开发者可以深入理解Java Socket通信的原理,提升GUI编程技能,同时也能接触到基础的AI实现。无论是对于...
下面是根据给定文件内容提炼出的Java Socket编程的相关知识点。 ### 1. Java Socket编程概念 - **Socket**:在计算机网络中,Socket是一个网络连接的端点,用于数据的发送和接收。它是网络通信的基础。 - **TCP/IP*...
总的来说,这个用Java编写的TCP Socket点对点聊天程序是一个很好的学习资源,涵盖了网络编程基础、并发处理和异常处理等多个重要知识点。通过实际操作,学习者不仅可以掌握TCP通信的原理,还能提高Java编程技巧,为...
以上知识点涵盖了Java和C#之间基于Socket通信的基础知识,实际开发中可能还需要结合具体的应用场景进行更深入的设计和优化。在SocketTest.rar、JavaSocketTest.rar文件中,可能包含了示例代码和运行指南,readme.txt...
Java Socket是网络编程中的基础组件,它提供了进程间通信(IPC)的能力,特别是在网络环境下的...以上就是关于“java socket多客户端之间通信”的核心知识点,理解并掌握这些内容,将有助于开发自己的Socket应用程序。