io问题

1、

1)IP地址和端口号

IP地址:用于识别网络中的通信实体,通信实体可以理解为是一台主机,也可以理解成是一台远程打印机,或者是路由器中的某一个端口。现在基于ip协议的网络中,传输的数据必须使用ip地址进行标识。每一个被传输的数据包都包括一个原ip和目标ip。

端口号:一个通信实体可以同时有多个通信程序,同时提供网络服务。这时候就需要通过端口号区分开具体的通信程序。一个通信实体不能有两个通信程序使用同一个端口号。

2)tcp/udp协议

tcp:面向连接的可靠传输的协议,通过tcp进行数据传输,得到的是一个顺序的无差错的数据流,它能够提供两台计算机之间的可靠数据传输。如http、ftp这些应用程序都是基于tcp的可靠传输通信。

udp:是一个无连接的协议。每个数据包都是一个独立的信息,包括完整的源地址和目标地址,它在网络上可以通过任何的途径传输到目的地。至于能否达到目的地、达到目的地的时间以及内容的准确性,它是不能保证的。这是udp和tcp最大的不同之一。

既然有了可靠的传输协议,为什么还要有不可靠的传输协议呢?主要是可靠的传输协议是有代价的,根据内容的时间和内容的检验,必然会占用计算机处理时间和网络时间,这样tcp不然udp的传输效率高。还有就是很多应用程序并不需要保证数据的正确性

3)URL:代表的是统一的资源定位器,指向的是互联网中的任何一个资源。

4)InetAddress : 其实是java提供的一个代表ip地址的一个类


2、

1)创建socket实例


2)


3)


4)



2、


3、




4、


5、NIO

工作原理:①有一个专门的线程来处理所有的io事件

②同时又是事件驱动机制的,当事件到来的时候会被触发,而不是同步地去揭示事件

③有线程间的通信机制,线程间是通过wait和notify这种方式进行通讯的,保证每次上下文切换都是有意义的,这样减少了无谓的线程切换,提高了线程的使用率


6、


7、

8、

9、

10、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值