• 1网络编程基本概念


    1 进程和线程得基本概论

        (1)处于运行过程中得程序实例,是操作系统调度和分配资源得基本单位。,但不是执行和调度资源得单位。

        (2)一个进程可以有多个线程,所有得线程都"同时"执行进程地址空间中得代码,那么要让所有得线程都能够线程,谁先运行谁后运行怎么办呢

        ,操作系统大哥通过一种循环得方式提供时间片,造成一种假象(看起来是同时运行得)。

        (3)当创建一个进程的时候,系统自动创建它得第一个线程称为主线程,这样这些进程可以继续生产更多得孩子。

    2实现网间进程通信必须解决的问题有哪些呢

      (1)标识问题:一个主机可以有唯一的ID来标识,但是两个主机,如果A主机标识为4,B主机也可能是4,这样在网络环境下没有勒意义

      (2)与网络协议栈的问题:两个主机通信,通过画图更能体现分层的关系应用进程->交给下层传输层通过可靠的传输->传输层及其协议往下最后到物理层

                 将数据变为信号->经过各种网络设备存储转发到目的主机->然后往上层走就是逆向得过程,这样相当的复杂,Windows通过Socket来解决

      (3)解决多重协议识别问题:不同的协议,格式不同,工作方式不同。

      (4)不同通信服务问题:比如需要传输一份非常重要得文件,需要传输可靠,无差错;或者下载程序,就算是一个字节掉了那也白搭。但是有一些聊天这样的应用就要求不高勒。

    3端口

      (1)应用层进程与传输层协议实体之间的通信接口,再OSI模型中称为应用层进程与传输层协议实体间的服务访问点SAP

      (2)应用层进程通过和端口绑定,通过这个端口进行数据的发送和接受。就类似文件描述符。

      端口的分配机制:

        (1)全部端口数65535个端口分为保留端口(0-1023)和自由端口(1024-).首先需要向本地操作系统提出申请,操作系统返回一个本地唯一的端口号,进程通过合适系统调用讲自己与这个端口号绑定,然后进行通信。

      具体分配:

        0:不使用或者特殊

        1-255:保留特定的服务

        256-1023:保留给其他服务 如路由

        1024-4999:可以用作任意客户机的额端口

        5000-65535 用户的服务器端口

      

  • 相关阅读:
    pytorch基础(4)-----搭建模型网络的两种方法
    Java
    Tools
    Maven
    Java
    DevOps
    Linux
    Java
    Java
    Nutch 使用总结
  • 原文地址:https://www.cnblogs.com/lanjianhappy/p/6486523.html
Copyright © 2020-2023  润新知