本地回环地址:127.0.0.1 简易版服务端: import socket ​ server = socket.socket() # 就比如买了一个手机 server.bind(("127.0.0.1",8080)) # bind中绑定的是IP地址和端口号,注意是一个元组,就比如,将手机卡,插入了手机 server.listen(5) # 半连接池,最大等待连接数为5个,就比如开机 conn,address = server.accept() # 接听电话等着别人给你打电话 ​ da…
Python进阶----SOCKET套接字基础, 客户端与服务端通信, 执行远端命令. 一丶socket套接字 什么是socket套接字: ​ ​  ​ 专业理解: socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口,Socket其实就是使用一个门面模式(门面模式要求一个子系统的外部与其内部的通信必须通过一个统一的门面(Facade)对象进行.门面模式提供一个高层次的接口,使得子系统更易于使用), 它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简…
目录 Socket - 套接字 Socket - 套接字 应用层与TCP/IP协议族通信层(或传输层)之间的抽象层,是一组接口()接收数据:当接口接收数据之后,交由操作系统: 如果数据与操作系统直接交互,会非常麻烦,而socket会将数据进行高度封装/简化在传给操作系统. socket在python中是一个模块. # 导入套接字 import socket tcpSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #获取TCP/ip套…
一,发生粘包 服务器端 from socket import * phone=socket(AF_INET,SOCK_STREAM) #套接字 phone.setsockopt(SOL_SOCKET,SO_REUSEADDR,1) #解决端口占用 phone.bind(('127.0.0.1',8080)) #绑定端口和Ip到套接字 phone.listen(5) conn,client_addr=phone.accept() #等待tcp接受 # data1=conn.recv(10) # p…
将数据发送到套接字. 套接字必须连接到远程套接字.  返回发送的字节数. 应用程序负责检查是否已发送所有数据; 如果仅传输了一些数据, 则应用程序需要尝试传递剩余数据.(需要用户自己完成) 将数据发送到套接字. 套接字必须连接到远程套接字.  与send()不同,此方法继续从字符串发送数据,直到所有数据都已发送或发生错误. 成功后不返回任何内容. 出错时,会引发异常,并且无法确定成功发送了多少数据(如果有). # 发送TCP数据 send()的返回值是发送的字节数量, #这个数量值可能小于要发送…
一,套接字 先从服务器端说起.服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接.在这时如果有个客户端初始化一个Socket,然后连接服务器(connect),如果连接成功,这时客户端与服务器端的连接就建立了.客户端发送数据请求,服务器端接收请求并处理请求,然后把回应数据发送给客户端,客户端读取数据,最后关闭连接,一次交互结束 socket()模块函数用法 1 import socket 2 socket.socket(…
粘包只会出现在tcp,udp传输不会产生粘包现象.解决粘包的原理就是服务器预先向客户端发送客户端即将获取文件的大小. 第一版解决方案: 服务器: # Author : Kelvin # Date : 2019/2/2 17:38 from socket import * import subprocess ip_conf = ("127.0.0.1", 8888) buffer_capacity = 1024 tcp_server = socket(AF_INET, SOCK_STRE…
TCPServer.py #coding:utf-8 import socket #s 等待链接 #c 实时通讯 s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #socket.AF_INET代表ipv4,socket.SOCK_STREAM代表tcp套接字 s.bind(('',23333)) #绑定ip端口 如果为空,那就是所有网络号都可以 s.listen(5) #最大同时5个人链接 print('[+]服务端开启') while…
异常处理: 什么是异常处理: 程序在运行过程中出现了不可预知的错误,并且该错误没有对应的处理机制,那么就会以异常的形式表现出来,造成的影响就是整个程序无法再正常运行 异常的结构: 异常的类型.异常的信息.异常的位置 异常的种类: 1.语法错误 是你程序能立刻解决的,这种错误是不能被容忍的,语法上的错误发现之后应该立刻解决 2.逻辑错误 逻辑错误无法一眼就看出来,因为是针对逻辑上的错误,可以采用异常处理机制进行捕获 常见的报错类型: NAMEERROR 名字错误 SynataxERROR  语法错…
异常处理 错误 程序里的错误一般分为两种: 1.语法错误,这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 2.逻辑错误,人为造成的错误,如数据类型错误.调用方法错误等,这些解释器是不会进行检测的,只有在执行的过程中才能抛出的错误 异常 异常是python解释器在运行程序的过程中遇到错误所抛出的信息,如: Python异常种类: 常用异常: AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常:基本…