一、什么是网络模型

          网络编程的本质是两个设备之间的数据交换,现在的网络编程基本上都是基于请求/响应方式的,也就是一个设备发送请求数据给另外一个,然后接收另一个设备的反馈。

         在网络编程中,发起连接程序,也就是发送第一次请求的程序,被称作客户端(Client),等待其他程序连接的程序被称作服务器(Server)。客户端程序可以在需要的时候启动,而服务器为了能够时刻相应连接,则需要一直启动。例如以打电话为例,首先拨号的人类似于客户端,接听电话的人必须保持电话畅通类似于服务器。连接一旦建立以后,就客户端和服务器端就可以进行数据传递了。

二、IP和域名、端口

       在现实生活中,如果要打电话则需要知道对应人的电话号码,如果要寄信则需要知道收信人的地址。在网络中也是这样,需要知道一个设备的位置,则需要使用该设备的IP地址,具体的连接过程由硬件实现,程序员不需要过多的关心

       在计算机中,IP地址是分配给网卡的,每个网卡有一个唯一的IP地址,如果一个计算机有多个网卡,则该台计算机则拥有多个不同的IP地址,在同一个网络内部,IP地址不能相同。由于IP地址不方便记忆,所以有专门创造了域名(Domain Name)的概念,其实就是给IP取一个字符的名字,例如163.com、sina.com等。IP和域名之间存在一定的对应关系。如果把IP地址类比成身份证号的话,那么域名就是你的姓名。 

       在网络中只能使用IP地址进行数据传输,所以在传输以前,需要把域名转换为IP,这个由称作DNS的服务器专门来完成。

      为了在一台设备上可以运行多个程序,人为的设计了端口(Port)的概念,规定一个设备有216个,也就是65536个端口,每个端口对应一个唯一的程序。每个网络程序,无论是客户端还是服务器端,都对应一个或多个特定的端口号。使用端口号,可以找到一台设备上唯一的一个程序。

      蚂蚁学堂(1)7-Java网络编程之socket

三、Socket入门

4.1、什么是Socket?

Socket就是为网络服务提供的一种机制。

通讯的两端都有Sokcet,网络通讯其实就是Sokcet间的通讯。

数据在两个Sokcet间通过IO传输。

4.2、TCP与UDP在概念上的区别:

udp: a、是面向无连接, 将数据及源的封装成数据包中,不需要建立建立连接

    b、每个数据报的大小在限制64k内

    c、因无连接,是不可靠协议

    d、不需要建立连接,速度快

tcp: a、建议连接,形成传输数据的通道.

    b、在连接中进行大数据量传输,以字节流方式

    c 通过三次握手完成连接,是可靠协议

    d 必须建立连接m效率会稍低

相关文章:

  • 2021-11-30
  • 2022-12-23
  • 2021-08-25
  • 2021-06-23
  • 2021-08-07
  • 2021-05-16
  • 2021-06-13
猜你喜欢
  • 2021-11-07
  • 2021-07-05
  • 2021-07-19
  • 2022-02-08
  • 2021-07-01
  • 2021-04-19
相关资源
相似解决方案