网络编程知识点(一)

C/S架构:客户端与服务端架构B/S架构:浏览器与服务端架构

想要实现通信,要具备网卡网线,网卡上有全球唯一mac地址多台机器实现通讯要用到交换机,一台机器通过交换机寻找一台机器叫做广播,回复的过程叫做单播arp协议:通过ip地址获取mac地址,        一台机器通过交换机要找另一台机器,然后那台机器就把自己的mac地址通过交换机回复给他        这台机器就把他的mac地址短暂缓存起来,短暂的这一段时间再想和那台机器实现通讯就不需要再广播了

机器与机器之间通过交换机连接起来形成局域网,局域网与局域网之间通过路由器连接起来一个局域网之间的机器不能直接和另一个局域网之间的机器通信,必须通过网关IP地址和子网掩码的按位与得到一个局域网网段

一般情况下使用8000以后的端口IP地址:一台机器在网络上的位置IP只在局域网中生效,也就是只能被局域网中的机器通过IP+端口进行访问想要被所有机器访问,必须申请一个公网IP,也就相当于在所有路由器上都注册了"127.0.0.1":本地的回环地址

TCP:它是全双工,可靠地,面向连接的,安全性高    连接时三次握手:        客户端:我可以连接你么        服务端:可以啊,我可以连接你么        客户端:可以啊    断开时四次挥手:        客户端:我要断开你了        服务端:好的        服务端:我要断开你了        客户端:好的    为什么是三次握手却是四次挥手?    因为断开的时候,客户端说要断开服务端同意,    但此时不能强制要求服务端非得断开,此时服务端还能向客户端发送消息,    如果服务端要断开,就得再次发出请求,然后客户端同意

udp:不是长连接,速度快,安全性低    udp的server端不需要监听也不需要建立连接    在启动服务后,只能被动的等待客户端发送消息过来    客户端发送消息的同时还会自带地址信息    消息回复的时候不仅需要发送消息,还需要把对方的地址填写发送过去

互联网协议按照功能不同分为tcp/ip五层:应用层 "hello"传输层 选择tcp/udp信息       tcp/udp协议     *tcp/udp协议属于传输层网络层 加上ip信息              ip协议数据链路层 加上mac地址          arp协议物理层 无线、网卡等

原文地址:https://www.cnblogs.com/QimiSun/p/9949799.html

时间: 2024-08-01 12:42:37

网络编程知识点(一)的相关文章

Java网络编程知识点(1)

如何将一个String对象转换成InputStream对象? ByteArrayInputStream inputStream = new ByteArrayInputStream(str.getBytes()); 如何替换掉网络URL里面的参数值? String baseURL = "http://sixweather.3gpk.net/SixWeather.aspx?city=%s"; String cityName = "武汉"; String resultU

网络编程知识点剖析

一. C/S 架构: Client / Server 客户端 / 服务端    B/S 架构: Browser / Server 前端 / 服务端 二.网络编程通信流程. 网卡 mac地址 IP地址 子网掩码 网关 DNS服务器  (进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器.) DHCP (自动分配IP)   NAT (Network Address Translation,网络地址转换) 端口 路由器   交换机 集线器 广播 单播 广播风

Linux网络编程知识点

1.  使用read函数返回长度0的情景:对端关闭连接,服务端调用了Close函数. //intro/daytimetcpcli.c while ((n = read(sockfd, recvline, MAXLINE)) > 0){ recvline[n] = 0; if (fputs(recvline, stdout) == EOF) err_sys("fputs error"); } if (n < 0) err_sys("read error")

Socket网络编程知识点

静态方法    与类无关,不能访问类里的任何属性和方法类方法    只能访问类变量属性@property    把一个方法变成一个静态属性,    flight.status    @status.setter    flight.status = 3    @status.delter反射    getattr(obj,str)    setattr(obj,str,val)    hasattr(obj,str)    delattr(obj,str) __new__class Foo(ob

Android网络编程系列 一 TCP/IP协议族

在学习和使用Android网路编程时,我们接触的仅仅是上层协议和接口如Apache的httpclient或者Android自带的httpURlconnection等等.对于这些接口的底层实现我们也有必要进一步的了解,这就要我们了解网络通信层了,提到网络通信层不得不说起ISO-OSI的七层协议经典架构,如图所示: 上图的左边部分就是osi架构模型了, ISO/OSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是国际标

【UNIX网络编程】进程间通信之管道

管道是最早的Unix进程间通信形式,它存在于全部的Unix实现中.关于管道,有例如以下几点须要知道: 1.它是半双工的,即数据仅仅能在一个方向上流动.虽然在某些Unix实现中管道能够是全双工的.但须要对系统进行某些设置.在Linux系统中,它是半双工的. 2.它没有名字.因此仅仅能在具有公共祖先的进程之间使用. 通经常使用在父子进程间.虽然这一点随着"有名管道FIFO"的增加得到改正了.但应该把它们看作是两种不同的进程间通信方式. 3.它由pipe函数创建,read和write函数訪问

网络版shell之网络编程练习篇--telnet服务端

网络版shell之网络编程练习篇--telnet服务端 以前写过一个shell命令解释器,对与shell命令解释器的执行流程有了清晰的认识,这段时间学习网络编程,至于网络编程的细节以及知识点,已经在上 一遍博客中,转载了从网上摘的文章,基本概括了网络编程的主要api,而对于程序员,更重要的是解决实际问题的能力,所以练习是非常重要的,现在,我们在 一起shell命令解释器的基础上,写一个基于socket网络编程的网络版shell命令解释器,也可以称之为telnet服务端.  telnet服务端代码

Android网络编程(一)HTTP协议原理

相关文章 Android网络编程(一)HTTP协议原理 Android网络编程(二)HttpClient与HttpURLConnection Android网络编程(三)Volley使用方法全解析 Android网络编程(四)从源代码解析volley Android网络编程(五)OkHttp2.x使用方法全解析 Android网络编程(六)OkHttp3使用方法全解析 Android网络编程(七)源代码解析OkHttp前篇[请求网络] Android网络编程(八)源代码解析OkHttp后篇[复用

Java网络编程【Socket服务端和客户端】

Socket 编程大家都不陌生,Java 学习中必学的部分,也是 Java网络编程核心内容之一.Java 网络编程又包括 TCP.UDP,URL 等模块.TCP 对应 Socket模块,UDP 对应 DatagramPacket 模块.URL 对应 URL 模块.其中 TCP 和 UDP 是网络传输协议,TCP 是数据流传输协议,UDP 是数据包传输协议.两者之间的异同就不在这里说了,推荐一本入门书籍 <TCPIP入门经典>.我们开始 Socket 服务端和客户端编程吧. 一.Socket 服