网络基础相关的知识 socket模块

1、架构

  1、C/S架构:client客户端和server服务器端

    优势:能充分发挥pc机的性能

  2、B/S架构:browser浏览器和server服务器    隶属于C/S架构

    B/S架构  统一了应用的接口

2、通信的事

  a、同一台电脑上两个py程序通信:打开一个文件

  b、两个电脑如何通信:连一个网线

  c、多个电脑通信:

    ex:电脑1(源)要找电脑2(目标)

    电脑1首先发送一个请求帧,其中包含(我的IP地址和mac地址,以及我要找的IP地址的主机),将此请求发送给交换机。

    交换机要广播这条消息给其他所有的主机

    目标主机接收到消息后,对比发现自己就是被找的主机,回复给交换机信息(IP地址,mac地址请回复给IP地址为XXX,mac地址为XXX的主机)

    交换机单播形式返回给源主机

3、知识点

  1、mac地址:是一个物理地址

  2、IP地址:是一个四位点分十进制,它标识了计算机在网络中的位置。

  3、交换机的通信方式:

    广播:发送给所有的主机

    单播:一对一

    组播:一对多

  4、arp协议:通过目标IP地址获取目标mac地址的一个协议。

  5、端口:操作系统为本机上每一个运行的程序都随机分配一个端口,其他电脑上的程序可以通过端口获取到这个程序。

  6、路由器:连接不同网段,路由

  7、网关:类似于一个局域网的出口和入口

  8、网段:一个局域网的IP地址范围

  9、子网掩码:子网掩码&IP地址得到网段

  10、osi五层模型:

    应用层:http,https,ftp  

    http:超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议

    https:HTTP的安全版

    ftp:FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。

    传输层:tcp/udp                 四层交换机         四层路由器

    tcp:TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议

    udp:UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向报文的简单不可靠信息传送服务,(快)

    网络层:IP协议                  路由器        三层交换机

    数据链路层:arp协议         以太网交换机   网卡     网桥

    物理层:传输电信号          中继器、集线器、网线、光纤

4、socket 模块  又叫做套接字模块

   sk = socket.socket(family = AF_INET, type=SOCK_STREAM)

  family:

    AF_UNIX基于文件类型的套接字(源自于unix)

    AF_INET基于网络类型的套接字

    一种是基于TCP协议     SOCK_STREAM

    一种是基于UDP协议     SOCK_DGRAM

  unix系统的中心思想:一切皆文件

1 # 客户端
2 import socket
3 import time
4 sk = socket.socket()
5 sk.connect(("192.168.12.47",8080)) # 8080为端口号6 sk.send("中文".encode("utf-8")7 time.sleep(10)8 sk.close()
 1 # 服务器端
 2 import socket
 3 import time
 4 sk = socket.socket()  # 不传参数,默认使用基于网络类型的套接字,协议:TCP
 5 sk.bind(("192.168.12.47",8080))
 6 sk.listen() # 同时能接收的连接
 7 conn,addr = sk.accept() # 等待接收客户端的连接   组赛等待
 8 msg_r = conn.recv(10)  # 接收数据,接收10个字节
 9 print("conn:",conn)
10 print("addr:",type(addr))
11 print(msg_r.decode("utf-8"),addr)
12 time.sleep(10)
13 conn.close()
14 sk.close()

  

原文地址:https://www.cnblogs.com/wjs521/p/9457208.html

时间: 2024-11-10 11:52:48

网络基础相关的知识 socket模块的相关文章

sockets: sockets网络编程相关的知识

########################################################### unix域(本地IPC): ########################################################### 在单个主机上执行客户服务器程序,可视为IPC方法之一. unix域(本地IPC)地址结构: struct sockaddr_un { sa_family_t sun_family;  //AF_LOCAL instead of AF

29 网络相关知识 socket

主要内容: 1 . 网络基础相关的知识 a : 架构 @C/S架构  :  client 客户端和 server服务器端 优势 : 能充分发挥pc机的性能 @B/S架构 : browser浏览器 和server 服务器   隶属于C/S架构 优势 : 统一了应用的接口 b : 通信的知识 @ 同一个电脑上两个py程序通信  : 打开一个文件 @两个电脑的通信:  连接一个网线 @多个电脑通信: 例如 : 电脑一要找电脑二(过程) 1) : 电脑首先发送一个请求帧,其中包含(我的ip地址是192.

网络基础知识查询

第一章.基础网络概念 1.1 网络是个什么玩意儿 全世界的人种有很多,人类使用的语言种类也多的很.那如果你想要跟外国人沟通时,除了比手划脚之外,你要如何跟对方讲话? 大概只有两种方式啰,一种是强迫他学中文,一种则是我们学他的语言,这样才能沟通啊.在目前世界上的强势语言还是属于英语系国家, 所以啰,不管是啥人种,只要学好英文,那么大家都讲英文,彼此就能够沟通了.希望不久的未来,咱们的中文能够成为强势语言啊! 这个观念延伸到网络上面也是行的通的,全世界的操作系统多的很,不是只有 Windows/Li

鸟哥的私房菜的网络基础篇,好久没看了,重新看了一下子网划分简单很多

第二章.基础网络概念 目录 第二章.基础网络概念 1 2.1 网络是个什么玩意儿 2 2.1.1 什么是网络 2 2.1.2 计算机网络组成组件 5 2.1.3 计算机网络区域范围 6 2.1.4 计算机网络协议: OSI 七层协定 7 2.1.5 计算机网络协议: TCP/IP 11 2.2 TCP/IP 的链结层相关协议 12 2.2.1 广域网使用的设备 13 2.2.2 局域网络使用的设备-以太网络 14 2.2.3 以太网络的传输协议:CSMA/CD 16 2.2.4 MAC 的封装格

Python开发基础-Day23try异常处理、socket套接字基础1

异常处理 错误 程序里的错误一般分为两种: 1.语法错误,这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 2.逻辑错误,人为造成的错误,如数据类型错误.调用方法错误等,这些解释器是不会进行检测的,只有在执行的过程中才能抛出的错误 异常 异常是python解释器在运行程序的过程中遇到错误所抛出的信息,如: Python异常种类: 常用异常: 1 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x 2 IOError 输入/输出异

Python之路【第九篇】:Python基础(26)——socket server

socketserver Python之路[第九篇]:Python基础(25)socket模块是单进程的,只能接受一个客户端的连接和请求,只有当该客户端断开的之后才能再接受来自其他客户端的连接和请求.当然我 们也可以通过python的多线程等模块自己写一个可以同时接收多个客户端连接和请求的socket.但是这完全没有必要,因为python标准库已经为 我们内置了一个多线程的socket模块socketserver,我们直接调用就可以了,完全没有必要重复造轮子. 我们只需简单改造一下之前的sock

Python中的socket模块

Python网络编程离不开socket模块 1. socket模块的简单使用,以开发一个简单的命令行工具为例,如下 1.1 socket client 端代码 1 # -*- coding:utf-8 -*- 2 # Author:Wong Du 3 4 import socket 5 6 # 创建一个socket对象 7 client = socket.socket() 8 # 与服务器端建立连接 9 client.connect( ('localhost', 9494) ) 10 11 12

关于运维方面的网络基础

前段时间去学习了思科网络基础CCNA的知识,与我们运维所需的网络基础大同小异,当然其包容性要大很多.我们主要来看下网络方面的内容: 网络七层模型 七层网络模型是我们进行网络间通信的基本理论依据,由上至下依次为应用层(七层),表示层,会话层,传输层,网络层,数据链路层,物理层(一层)需要注意的是层数不要搞反了,那么七层协议的作用及对应协议如下图: 在七层协议模型中我们看到由A到B的通信是怎么实现的呢?在A主机的第七层开始,每往下一层都加一个标志信息,直到物理层传输至B主机,B主机由下向上每层解开对

网络连接相关基础知识笔记

一.常说的TCP/IP的含义 TCP/IP协议簇并不仅仅指TCP协议和IP协议,实际它包括了一系列协议组成的集合,如:TCP,IP,UDP,FTP,SMTP,DNS,ARP,PPP等 TCP与UDP协议都属于传输层协议,但有很大不同,TCP是面向连接的协议,提供的是可靠的数据流服务,TCP采用"带重传的肯定确认"机制来实现传输的可靠性,实现了一种"虚电路",因为从物理上来说,并不是真正在两台主机间建立了连接,这种连接只是存在于逻辑上的.最大的开销出现在通信前建立连接