当前位置: 首页 > news >正文

怎么破解别人做的付费网站网络营销外包

怎么破解别人做的付费网站,网络营销外包,蛇口网站建设公司,做网站时怎么让边框细一点一.前言 前篇文章中了解了SocketChannel:提供了连接到套接字通道,从某种层面而言,NIO中提供了类似于java.net包中对于网络操作的api的功能。既然已经有连接到Socket套接字的通道,可以主动发起连接、传输数据,还缺少接收…

一.前言

前篇文章中了解了SocketChannel:提供了连接到套接字通道,从某种层面而言,NIO中提供了类似于java.net包中对于网络操作的api的功能。既然已经有连接到Socket套接字的通道,可以主动发起连接、传输数据,还缺少接收连接(client端)。不言而喻,还缺少接收连接,接收数据的通道(server端)。这篇文章就主要介绍监听套接字的通道ServerSocketChannel。

二.ServerSocketChannel

A selectable channel for stream-oriented listening sockets.

上述摘自java docs中定义:ServerSocketChannel是面向流的监听socket套接字的可选择性通道。从定义中可以看出以下几点:

  • 具有阻塞和非阻塞两种模式
  • 可以注册到多路复用器上
  • 基于TCP连接
  • 需要绑定到特定端口上

ServerSocketChannel可以被无参的open()方法创建。但是改方法只是创建了一个ServerSocketChannel对象,并没有进行绑定操作,仍需要调用bind()方法进行绑定,使之监听某个套接字。未进行绑定的ServerSocketChannel调用accept(),将会抛出NotYetBoundException异常。

ServerSocketChannel支持的可选参数:

参数名作用描述
SO_RCVBUF套接字接收缓冲区大小
SO_REUSEADDR重新使用地址

ServerSocketChannel支持两种模式:阻塞模式和非阻塞模式。且是线程安全的

三.ServerSocketChannel使用

1.创建ServerSocketChannel
ServerSocketChannel channel = ServerSocketChannel.open();  //创建ServerSocketChannel 
2.绑定到本机网络接口
channel.bind(new InetSocketAddress(8091));  //绑定至8091端口
3.接收连接
SocketChannel socketChannel = channel.accept();

ServerSocketChannel的accept方法返回SocketChannel套接字通道,用于读取请求数据和写入响应数据。
ServerSocketChannel的阻塞和非阻塞体现在这里:

  • 阻塞模式:在调用accept方法后,将阻塞知道有新的socket连接时返回SocketChannel对象,代表新建立的套接字通道。
  • 非阻塞模式:在调用accept方法后,如果无连接建立,则返回null;如果有连接,则返回SocketChannel。

四.简单的client-server

创建简单的server:

public void createServerSocketChannel() throws IOException {ServerSocketChannel channel = ServerSocketChannel.open();channel.bind(new InetSocketAddress(8091));while (true) {SocketChannel socketChannel = channel.accept();ByteBuffer byteBuffer = ByteBuffer.allocate(16);int count = socketChannel.read(byteBuffer);while(count != -1) {byteBuffer.flip();while (byteBuffer.hasRemaining()) {System.out.print((char) byteBuffer.get());}byteBuffer.clear();count = socketChannel.read(byteBuffer);}System.out.println();}
}

创建简单client:

public void client() throws IOException {SocketChannel socketChannel = SocketChannel.open(new InetSocketAddress("10.17.83.11", 8091));String msg = "ok";socketChannel.write(ByteBuffer.wrap(msg.getBytes()));SocketChannel socketChannel3 = SocketChannel.open(new InetSocketAddress(8091));socketChannel3.write(ByteBuffer.wrap(msg.getBytes()));System.out.println("s3");SocketChannel socketChannel4 = SocketChannel.open(new InetSocketAddress(8091));socketChannel4.write(ByteBuffer.wrap(msg.getBytes()));System.out.println("s4");socketChannel4.close();socketChannel3.close();socketChannel.close();
}

ServerSocketChannel基本上不会单独使用绝大多数情况下都是配合多路复用Selector选择器共同使用。这里只关注ServerSocketChannel本身,关于其与多路复用混合使用,后面再介绍Selector时再做详细介绍!

参考

本机ip、127.0.0.1和0.0.0.0区别

转载于:https://www.cnblogs.com/lxyit/p/9224248.html

http://www.lbrq.cn/news/2517373.html

相关文章:

  • 做网站教程友情链接赚钱
  • 公司做网站怎么样网站推广四个阶段
  • 做介绍翻译英文网站专业软文平台
  • 互联网网站建设挣钱吗引流黑科技app
  • 福州做网站互联网公司排名百度关键词排名点
  • 磐安住房和城乡建设部网站广告买卖网
  • 网站建立分站百度非企渠道开户
  • 怎样利用网站做自己的链接推广一手渠道
  • gateface做网站百度竞价推广投放
  • 从零精通网站建设优化服务
  • 建立网站怎么赚钱怎样在百度上做免费推广
  • 百度不更新网站有效的网站推广方式
  • 帝国cms电影网站模板武汉网优化seo公司
  • 学生个人网页设计作品代码seo搜外
  • 公司做网站需要什么手续吗百度站长工具官网
  • 可以下载新闻视频的网站seo优化交流
  • 网站中信息更新怎么做的自媒体平台收益排行榜
  • 合浦网站建设哪个推广网站好
  • 万全孔家庄做网站大连网站排名推广
  • 建设银行招聘网站甘肃分行百度小程序关键词优化
  • 建设部网站的诚信平台最近发生的重大新闻事件
  • 网站管理助手4.0教程今天中国新闻
  • 站长工具是什么创意营销点子
  • 想要找个网站做环评公示免费广告推广
  • 南宁哪家公司建设网站比较好网络推广与营销
  • 赣州做网站jx25色盲色弱测试
  • 延吉市住房城乡建设局网站网络服务公司
  • 网站建设及报价方案疫情二十条优化措施
  • 网站seo月报今日热搜榜排名最新
  • 衡阳市做网站百度知道客服电话人工服务
  • sqli-labs:Less-16关卡详细解析
  • RabbitMQ的特点和消息可靠性保障
  • systmctl的作用,使用场景和用法
  • SpringBoot+SpringAI打造智能对话机器人
  • 类与对象(上),咕咕咕
  • 对College数据进行多模型预测(R语言)