网络编程(定义)
网络编程的本质就是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机,数据传递本身
没有多大难度,不就是把一个设备中的数据发送给一个设备,然后接收另一个设备的反馈的数据。
网络编程基本上都是基于请求/响应方式的,也就是一个设备发送请求数据给另外一个,然后接收另一个设备的反馈
IP地址和域名
现实生活中,如果要打电话则需要知道对应人的电话号码,如果要寄信则需要知道收信人的地址。在网络中
也是这样,需要知道一个设备的位置。则需要使用该设备的IP地址,具体的链接过程由硬件实现。一般是IPv4
端口概念
为了在一台设备上可以运行多个程序,人为的设计了端口(port)的概念就像公司的分机号码
规定一个设备有216个,也就是65536个端口,每个端口对应一个唯一的程序。 python网络编程的话就要用到一个 socket(称作为:套接字)
进入cmd输入 pip install socket 进行下载(最新版本)
上面对网路编程介绍了这么多,下面来写个实例
#创建主叫方(字符发送时需要编码)
import socket
import threading
#建立客户套接字
c=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
print('创建客户套接字')
c.connect(('00.00.00.00',0000))#链接对方,不成功抛出异常(自己的ip)
print('我已链接到服务')
#send发送的数据要编码 encode()编码
def myreve(c):
while True:
#1024b=1k
#3b=1字节(所以字符在300以内)
msg=c.recv(1024)#当没有消息的时候休息,阻塞
print(msg.decode())#解码
threading._start_new_thread(myreve,(c,))
while True:
msg=input()
c.send(msg.encode())#编码 #被叫方(跟主叫方差不多) ss=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
print('建立服务套接字')
#服务套接字绑定端口号,绑定主机
print('绑定端口和主机')
ss.bind(('localhost',9999))
#建立最大链接数,超过排队
ss.listen(5)
#接受客户套接字请求
c=ss.accept()
print('某个用户链接到我了')
#线程 函数
def myreve(c):
while True:
msg=c.recv(1024)#当没有消息的时候休息,阻塞
print(msg.decode())#解码
threading._start_new_thread(myreve,(c[0],))
while True:
msg=input()
c[0].send(msg.encode())#编码

python3网络编程的更多相关文章

  1. 吴裕雄--天生自然python学习笔记:Python3 网络编程

    Python 提供了两个级别访问的网络服务.: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法. 高级别的网络 ...

  2. Python3 网络编程

    虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多. 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Microsoft都有各自的 ...

  3. Python3 网络编程和并发编程总结

    目录 网络编程 开发架构 OSI七层模型 socket subprocess 粘包问题 socketserver TCP UDP 并发编程 多道技术 并发和并行 进程 僵尸进程和孤儿进程 守护进程 互 ...

  4. Python3 网络编程基础1

    目录 开发架构 C/S架构 B/S架构 OSI模型 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 TCP协议 socket 开发架构 C/S架构 client 和 server, 既客户 ...

  5. Python3 网络编程小练习

    三次握手.四次挥手图示意图 基于TCP开发一款远程cmd程序 # server.py import socket import subprocess server = socket.socket() ...

  6. python之网络编程

    本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类: 消息传递(管道.FIFO.消息队列) 同步(互斥量.条件变量.读写锁.文件和写记录锁.信号量) 共享内存(匿名的和具名的) 远程过程调用 ...

  7. 『Python』socket网络编程

    Python3网络编程 '''无论是str2bytes或者是bytes2str其编码方式都是utf-8 str( ,encoding='utf-8') bytes( ,encoding='utf-8' ...

  8. python基础网络编程--转

    python之网络编程 本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类: 消息传递(管道.FIFO.消息队列) 同步(互斥量.条件变量.读写锁.文件和写记录锁.信号量) 共享内存(匿名的 ...

  9. python 网络编程 TCP/IP socket UDP

    TCP/IP简介 虽然大家现在对互联网很熟悉,但是计算机网络的出现比互联网要早很多. 计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,IBM.Apple和Micro ...

随机推荐

  1. Java基础第二天--多态、接口

    多态 多态的概述 同一个对象,在不同时刻表现出来的不同形态 多态的前提和体现 有继承/实现关系 有方法重写关系 有父类引用指向子类对象 public class Animal { public voi ...

  2. HLSL中constant variables的packing规则

    HLSL中constant variables的packing规则 参考MSDN上的官方文档.一般而言,HLSL将数据打包为4字节对齐,此外,它不允许数据跨16字节(即4个float的vector)的 ...

  3. 1 c#传递表变量去存储数据的例子

    1 c# 代码 using (SqlConnection con = GetEditorConnection()) { con.Open(); using (SqlCommand command = ...

  4. go语言入门(4)函数

    1,函数的定义格式 函数构成代码执行的逻辑结构.在Go语言中,函数的基本组成为:关键字func.函数名.参数列表.返回值.函数体和返回语句. Go 语言函数定义格式如下 func FuncName(/ ...

  5. python之字典二 内置方法总结

    Python字典包含了以下内置方法: clear()函数用于删除字典内所有元素 dict1 = {, 'Class': 'First'} print('the start len %d' % len( ...

  6. JAVA语言程序设计课后习题----第四单元解析(仅供参考)

    1 本题水题,主要理解题目的意思即可,访问方法和修改方法可以通过快捷方式alt+insert选中你需要的成员变量即可 public class Person { public String name; ...

  7. Shell脚本grep命令

    三剑客:grep  sed  awk grep:文本行过滤工具 sed:  文本行编辑器(流编辑器) awk: 报告生成器,输出格式化 grep包含三个命令: grep egrep fgrep .他们 ...

  8. 安装openblas库

    http://www.openblas.net/ Linux:下载源码直接make即可

  9. 关于php 7.4编译安装

    一个不错的文章 https://hqidi.com/150.html 贴个地址就好啦, 借鉴了一把,很良心

  10. servlet遇到的问题

    1 创建web项目没有xml自动生成 2  servlet 忽然报奇怪500错误  出现的BUG原因 JAVA bean没有设置  自动导入了其他User包