首页 > 代码库 > 1网络编程基本概念

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 用户的服务器端口

  

1网络编程基本概念