- package net.java2000.nio;
- import java.io.IOException;
- import java.net.InetSocketAddress;
- import java.nio.ByteBuffer;
- import java.nio.channels.SocketChannel;
- /**
- * 向SocketChannel写入数据并读取返回数据。
- *
- * @author 赵学庆,Java世纪网(java2000.net)
- *
- */
- public class SocketChannelWrite {
- public static SocketChannel createSocketChannel(String hostName, int port)
- throws IOException {
- SocketChannel sChannel = SocketChannel.open();
- sChannel.configureBlocking(false);
- sChannel.connect(new InetSocketAddress(hostName, port));
- return sChannel;
- }
- public static void main(String[] args) {
- ByteBuffer buf = ByteBuffer.allocateDirect(1024);
- try {
- buf.clear();
- SocketChannel socketChannel = createSocketChannel("www.163.com", 80);
- while (!socketChannel.finishConnect()) {
- System.out.println("等待非阻塞连接建立....");
- try {
- Thread.sleep(10);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- buf.put("get / /n/n".getBytes());
- buf.flip();
- socketChannel.write(buf);
- buf.clear();
- int numBytesRead;
- while ((numBytesRead = socketChannel.read(buf)) != -1) {
- if (numBytesRead == 0) {
- // 如果没有数据,则稍微等待一下
- try {
- Thread.sleep(1);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- continue;
- }
- // 转到最开始
- buf.flip();
- while (buf.remaining() > 0) {
- System.out.print((char) buf.get());
- }
- // 也可以转化为字符串,不过需要借助第三个变量了。
- // buf.get(buff, 0, numBytesRead);
- // System.out.println(new String(buff, 0, numBytesRead, "UTF-8"));
- // 复位,清空
- buf.clear();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
相关推荐
在统信UOS Server 20上踩坑记:手把手教你搞定openGauss 5.0.0企业版安装(附常见报错解决方案)
本文详细记录了在统信UOS Server 20上安装openGauss 5.0企业版的实战经验,包括环境准备、依赖库问题、目录权限、内存参数调优等常见问题的解决方案。通过伪装系统标识、建立软链接、调整内存参数等方法,成功克服国产操作系统与企业级数据库的兼容性挑战,为开发者提供了一份深度排雷指南。
netty4.1.70-学习笔记之HELLO WORLD
server package sample; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.netty.channel.*; import io.netty.channel.socket.SocketChannel; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.nio.NioEventLoopGroup;
【数字逻辑电路课程设计】多功能数码管时钟VHDL+quartus II-EP1C12F324C8+源码+付费资源
我希望需要我这篇文章的是正常学习数字逻辑课程且正在设计数码管时钟的同学。我个人不推荐直接获取源代码,因此我另有一份付费资源是完整源代码;我推荐各位去研究我代码的逻辑尝试自己书写属于自己的代码,因此我保留了注释但隐去了变量。由于时间有限,我的设计不够完美,仍有很多缺陷,我将我的展望写在后面,各位可以尝试实现。我不为难同学,作为同学我理解各位设计的辛苦,因此如果有需要,私信我提供隐去敏感信息的学生证照片可直接获取源代码。
使用 SocketChannel 读写
在本章中,您将学习: 从 SocketChannel 读取 写入 SocketChannel 从 SocketChannel 读取 import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; /* j ava 2s . c o m*/ public class Main { public static void main(String[] argv) throws Exception { ByteBu..
ESP32实战指南:SPI驱动ADXL345三轴加速度传感器的精准数据采集与姿态解算
本文详细介绍了如何使用ESP32通过SPI接口驱动ADXL345三轴加速度传感器,实现精准数据采集与姿态解算。从硬件连接到SPI通信优化,再到数据处理和低功耗策略,提供了全面的实战指南。特别适合物联网开发者和硬件工程师参考,帮助快速掌握传感器数据采集技术。
CH455G数码管驱动与键盘扫描:I2C通信协议深度解析与实战代码
本文深度解析CH455G芯片的I2C通信协议,涵盖数码管驱动与键盘扫描功能的实战应用。通过详细讲解起始/停止信号、数据帧结构、应答机制及单片机代码实现,帮助开发者高效利用该芯片减少IO占用,提升嵌入式系统设计效率。
Java nio包SocketChannel详解
SocketChannel 是 Java NIO 中用于实现基于 TCP 协议的套接字通信的通道。在介绍SocketChannel之前先讲下Selector 。
STC单片机 普通 I/O 口中断功能介绍和使用
STC32单片机 普通 I/O 口中断功能介绍和使用
Java NIO(五)-FileChannel、SocketChannel、ServerSocketChannel、DatagramChannel[译]
Java NIO(五)-FileChannel、SocketChannel、ServerSocketChannel、DatagramChannel 一、FileChannel Java NIO FileChannel是连接到文件的通道。使用FileChannel,可以从文件中读取数据,并将数据写入文件。 Java NIO FileChannel类是标准Java IO API读取文件的可替代...
西南科技大学模拟电子技术实验七(集成运算放大器的非线性应用)预习报告
将电位器Rp调至中心位置,用双综示波器观察并绘制方波U0的波形,测量其幅值和频率;将电位器RP调至中心位置,用示波器观察并绘制锯齿波U0的波形,记录;示波器基线调零,Ui输入1000HZ、幅值为2V的正弦信号,观察并记录Ui与U0波形,读出图中波形跳变时的Ui临界值;用万用表电位器RP调至预测结果位置,用示波器观察并描绘三角波输出U0及方波输出uo’,测其幅值、频率及Rp值,记录之。示波器基线调零,U输入1000HZ、幅值为2V的正弦信号,观察UI与U0波形。理论算法公式:当Ui
游戏大厂射击游戏无缝大世界游戏DS服务器架构设计方案详解
摘要: 本文深入解析游戏大厂无缝大世界射击游戏的分布式服务器(DS)架构设计方案。以《和平精英》《量子特攻》为例,阐述如何通过动态分区、兴趣管理、弹性扩缩等核心技术应对高并发、低延迟、无缝切换等挑战。架构分为世界协调层、分区计算层、物理判定层等模块,结合微服务化、快照同步和Kubernetes调度,实现玩家跨区无感知迁移与一致判定。重点优化动态负载均衡、状态同步算法及容灾备份,依托分布式数据库与多云部署保障高可用性,为同类游戏提供可扩展的技术范本。(149字) 关键词: 无缝大世界、分布式服务器、动态分区、
从SocketChannel读取数据
从SocketChannel读取数据
AI驱动的网络安全运维:智能化时代的安全保障
本项目旨在使用Python和AI技术构建一个智能化的网络安全运维系统,能够实时监测网络流量,检测潜在的安全威胁,并自动采取应对措施,从而提升网络安全管理的效率和准确性。具体内容包括:环境配置与依赖安装数据采集与预处理机器学习模型构建与训练实时威胁检测与响应实际应用案例通过本文的介绍,我们展示了如何使用Python和AI技术构建一个智能化的网络安全运维系统。
SocketChannel 读取ByteBuf 的过程
SocketChannel 读取ByteBuf 的过程: 我们首先看NioEventLoop 的processSelectedKey 方法: private void processSelectedKey(SelectionKey k, AbstractNioChannel ch) { //获取到channel 中的unsafe final AbstractNio...
华为的C语言编程规范.pdf
华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。
汉书HE8,好用的汇编代码编写工具
汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大
SocketChannel类
随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666) 一、简介 该类表示针对面向流的连接套接字的可选择通道。 类声明:public abstract class SocketChannel extends AbstractSelectableChannelimp...
迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)
迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)
【Java NIO 简例】SocketChannel
. 原文:《Java NIO SocketChannel》 Java NIO 中的 SocketChannel 用于处理 TCP 网络连接。 开启 SocketChannel 示例:连接远程服务器 Java代码 SocketChannelchannel=SocketChannel.open(); channel.connect(newInet...
IDEA的使用指南
IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.
Java SocketChannel 读取ByteBuffer字节的处理模型
在JAVA中的流分为字节流或字符流,一般来说采用字符流处理起来更加方便。字节流处理起来相对麻烦,SocketChannel中将数据读取到ByteBuffer中,如何取出完整的一行数据(使用CRLF分隔)? 例如: Socket收到的内容为: 1234567890CRLF 0123456789CRLF 注意:CRLF为回车换行符号 如果使用 SocketChannel.r...
java nio socketchannel_java nio之SocketChannel
Java NIO中的SocketChannel是一个连接到TCP网络套接字的通道。可以通过以下2种方式创建SocketChannel:打开一个SocketChannel并连接到互联网上的某台服务器。一个新连接到达ServerSocketChannel时,会创建一个SocketChannel。打开 SocketChannel下面是SocketChannel的打开方式:1SocketChannel s...
socketchannel java_SocketChannel
Java NIO中的SocketChannel是一个连接到TCP网络套接字的通道。可以通过以下2种方式创建SocketChannel:打开一个SocketChannel并连接到互联网上的某台服务器。一个新连接到达ServerSocketChannel时,会创建一个SocketChannel。打开 SocketChannel下面是SocketChannel的打开方式:1SocketChannel s...
NIO 学习(五) SocketChannel
SocketChannel介绍
Java的NIO之网络通信的SocketChannel
Java的NIO中的SocketChannel是一个连接到TCP网络套接字的通道(SocketChannel这个通道一般用于客户端,服务端一般使用ServerSocketChannel)。可以通过以下2种方式创建SocketChannel: 1. 打开一个SocketChannel并连接到互联网的某台服务器上。 2. 一个新的连接到达ServerSocketChannel时,server端会创建
java.nio.channels.SocketChannel
public abstract class SocketChannel extends AbstractSelectableChannel implements ByteChannel GatheringByteChannel ScatteringByteChannel java.lang.Object ? java.nio.channels.spi.AbstractInterru...
265



被折叠的 条评论
为什么被折叠?



