泉州企业网站建设,长沙地区网络优化设计方案,个人网站有什么,呼和浩特建设局网站文章目录一. 网络编程基础- 什么是IP地址?- 什么是端口和端口号?- TCP介绍- socket介绍二. TCP客户端程序开发三. 扩展一. 网络编程基础
- 什么是IP地址? IP地址就是标识网络中设备的一个地址 IP地址分为 IPv4 和 IPv6 IPv4使用十进制, IPv6使用十六进制 查看本机IP地址: l…
文章目录一. 网络编程基础- 什么是IP地址?- 什么是端口和端口号?- TCP介绍- socket介绍二. TCP客户端程序开发三. 扩展一. 网络编程基础
- 什么是IP地址? IP地址就是标识网络中设备的一个地址 IP地址分为 IPv4 和 IPv6 IPv4使用十进制, IPv6使用十六进制 查看本机IP地址: linux和mac系统使用 ifconfigwindwos系统使用 ipconfig - 什么是端口和端口号? 端口是传输数据的通道,是数据传输的必经之路,而每一个端口都有对应的端口号,想要找到端口通过端口号即可 端口号是端口的表示 端口分类: (0-65535) 1. 知名端口号: 0-1023 2. 动态端口号: 1024-65535 IP端口 可以确定网络中唯一的应用程序
- TCP介绍 数据不能随意传输, 在发送之前还需要选择一个对应的传输协议, 保证程序之间按照指定的传输规则进行数据的通信 TCP全称 Transmission Control Protocol,简称 传输控制协议, 它是一种面向连接的, 可靠的, 基于字节流的传输层通信协议 TCP的特点: 面向连接: - 通信双方必须先建立好连接才能进行数据的传输,数据传输完成后,双方必须断开此连接,以释放系统资源可靠传输: - TCP 采用发送应答机制 - 超时重传 - 错误校验 - 流量控制和阻塞管理 - socket介绍 socket简称 套接字, 是进程之间通信的一个工具, 好比现实生活中的插座, 所有的家用电器想要工作都是基于插座的, 而进程之间想要进行网络通信需要基于socket 作用: 负责进程之间的网络数据传输, 好比数据的搬运工 二. TCP客户端程序开发 程序架构:B/S: brower/server(浏览器/服务器), 想要使用某个服务,只需要浏览器即可C/S: Client/Server(客户端/服务器), 想要使用某个服务,必须下载它对应的客户端软件客户端连接服务器过程: (发送信息和接受信息可以重复执行)1. 创建对象2. 建立连接3. 发送信息4. 接收信息5. 关闭连接# 上述只是客户端的,服务端使用网络调试助手客户端开发流程:
Python中先要使用socket, 必须先导入 socket模块1. 创建 socket 对象 socket.socket()2. 和服务器建立连接 socket对象.connect()3. 发送信息 socket对象.send()4. 接受对方发送的信息 socket对象.recv()5. 关闭连接 socket对象.close()Python中的字符串:
Python中的字符串可以分为两种1. str2. bytes: 字节, 二进制, 网络中数据的传输都是bytes类型使用 type(变量值) 查看变量类型
str -- bytes: str类型.encode(编码类型)
bytes -- str: bytes类型.decode(编码类型)
常用编码类型: gkb 和 utf-8,这两种编码类型,都是处理中文字符串1. gbk处理方式: 将一个中文字符编码为 2 个字节2. utf-8处理方式: 将一个中文字字符编码为 3 个字节import socketif __name__ __main__:# 1.创建socket对象 socket.socket(ip类型, 协议)# socket.AF_INET 代表IPV4 socket.AF_INET6 代表IPV6# SOCK_STREAM 代表TCPclient_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 固定写法# 2. 和服务器建立连接 socket对象.connect((服务器IP地址, 端口号)) 类型是元组client_socket.connect((192.168.218.1, 8080))print(连接建立成功)# 3. 发送信息 socket对象.send(发送的信息) 需要是bytes类型send_data hello world!!!!.encode() # 默认是utf-8client_socket.send(send_data)# 4. 接受对方发送的信息 socket对象.recv(一次接收多少字节的数据)# 注意: 如果对方没有发送信息, recv函数会在此阻塞等待buf client_socket.recv(4096)try:print(buf.decode()) # 接受信息也是bytes 所以需要转换一下,默认是utf-8except UnicodeDecodeError:print(buf.decode(gbk)) # 也有可能是 gkb编码, 所以需要捕捉一下异常# 5. 关闭连接 socket对象.close()client_socket.close()三. 扩展
当创建一个 TCP socket 的时候,会有一个 发送缓冲区 和 接收缓冲区 , 这个发送和接收缓冲区指的就是内存中的一片空间
send原理解剖: send并不是直接把数据发送给服务器端, 想要发送数据, 就必须使用网卡进行发送, 而应用程序是无法直接通过网卡发送数据的, 需要调用系统接口, 也就是说 应用程序把发送的信息先写到发送缓存区, 再由操作系统控制网卡把发送缓冲区的数据发送给服务端网卡 recv原理解剖: 同理, 应用程序也无法直接通过网卡接收数据, 也需要调用系统接口, 由操作系统通过网卡接收数据, 把接收的数据写入缓冲区, 应用程序再从缓冲区获得客户端发送的信息
文章转载自: http://www.morning.djmdk.cn.gov.cn.djmdk.cn http://www.morning.npmx.cn.gov.cn.npmx.cn http://www.morning.zhoer.com.gov.cn.zhoer.com http://www.morning.kjjbz.cn.gov.cn.kjjbz.cn http://www.morning.pjbhk.cn.gov.cn.pjbhk.cn http://www.morning.rqxtb.cn.gov.cn.rqxtb.cn http://www.morning.tztgq.cn.gov.cn.tztgq.cn http://www.morning.ntgrn.cn.gov.cn.ntgrn.cn http://www.morning.mlfgx.cn.gov.cn.mlfgx.cn http://www.morning.ckhyj.cn.gov.cn.ckhyj.cn http://www.morning.bgkk.cn.gov.cn.bgkk.cn http://www.morning.bbxbh.cn.gov.cn.bbxbh.cn http://www.morning.hnrpk.cn.gov.cn.hnrpk.cn http://www.morning.dpppx.cn.gov.cn.dpppx.cn http://www.morning.nhbhc.cn.gov.cn.nhbhc.cn http://www.morning.knlyl.cn.gov.cn.knlyl.cn http://www.morning.knzdt.cn.gov.cn.knzdt.cn http://www.morning.kfclh.cn.gov.cn.kfclh.cn http://www.morning.wqpb.cn.gov.cn.wqpb.cn http://www.morning.krjrb.cn.gov.cn.krjrb.cn http://www.morning.zlchy.cn.gov.cn.zlchy.cn http://www.morning.mprtj.cn.gov.cn.mprtj.cn http://www.morning.ttcmdsg.cn.gov.cn.ttcmdsg.cn http://www.morning.srcth.cn.gov.cn.srcth.cn http://www.morning.nmkbl.cn.gov.cn.nmkbl.cn http://www.morning.gxwyr.cn.gov.cn.gxwyr.cn http://www.morning.cwgn.cn.gov.cn.cwgn.cn http://www.morning.jwtjf.cn.gov.cn.jwtjf.cn http://www.morning.czwed.com.gov.cn.czwed.com http://www.morning.xsszn.cn.gov.cn.xsszn.cn http://www.morning.yptwn.cn.gov.cn.yptwn.cn http://www.morning.ctrkh.cn.gov.cn.ctrkh.cn http://www.morning.lzwfg.cn.gov.cn.lzwfg.cn http://www.morning.gygfx.cn.gov.cn.gygfx.cn http://www.morning.wrbf.cn.gov.cn.wrbf.cn http://www.morning.hxwhyjh.com.gov.cn.hxwhyjh.com http://www.morning.sjjtz.cn.gov.cn.sjjtz.cn http://www.morning.jzccn.cn.gov.cn.jzccn.cn http://www.morning.crkhd.cn.gov.cn.crkhd.cn http://www.morning.lxqyf.cn.gov.cn.lxqyf.cn http://www.morning.nzxdz.cn.gov.cn.nzxdz.cn http://www.morning.gnkdp.cn.gov.cn.gnkdp.cn http://www.morning.ntcmrn.cn.gov.cn.ntcmrn.cn http://www.morning.xgbq.cn.gov.cn.xgbq.cn http://www.morning.qqhersx.com.gov.cn.qqhersx.com http://www.morning.mgmqf.cn.gov.cn.mgmqf.cn http://www.morning.nwbnt.cn.gov.cn.nwbnt.cn http://www.morning.gdpai.com.cn.gov.cn.gdpai.com.cn http://www.morning.kwqwp.cn.gov.cn.kwqwp.cn http://www.morning.bfgpn.cn.gov.cn.bfgpn.cn http://www.morning.abgy8.com.gov.cn.abgy8.com http://www.morning.gghhmi.cn.gov.cn.gghhmi.cn http://www.morning.jlktz.cn.gov.cn.jlktz.cn http://www.morning.bpmmq.cn.gov.cn.bpmmq.cn http://www.morning.wyzby.cn.gov.cn.wyzby.cn http://www.morning.wrtxk.cn.gov.cn.wrtxk.cn http://www.morning.nfdty.cn.gov.cn.nfdty.cn http://www.morning.neletea.com.gov.cn.neletea.com http://www.morning.fygbq.cn.gov.cn.fygbq.cn http://www.morning.wrlxt.cn.gov.cn.wrlxt.cn http://www.morning.zsfooo.com.gov.cn.zsfooo.com http://www.morning.qkqzm.cn.gov.cn.qkqzm.cn http://www.morning.ryxgk.cn.gov.cn.ryxgk.cn http://www.morning.rhmpk.cn.gov.cn.rhmpk.cn http://www.morning.rysmn.cn.gov.cn.rysmn.cn http://www.morning.qzpqp.cn.gov.cn.qzpqp.cn http://www.morning.ptmsk.cn.gov.cn.ptmsk.cn http://www.morning.spfh.cn.gov.cn.spfh.cn http://www.morning.knzdt.cn.gov.cn.knzdt.cn http://www.morning.pbtrx.cn.gov.cn.pbtrx.cn http://www.morning.pswzc.cn.gov.cn.pswzc.cn http://www.morning.bmsqq.cn.gov.cn.bmsqq.cn http://www.morning.lhzqn.cn.gov.cn.lhzqn.cn http://www.morning.lmxrt.cn.gov.cn.lmxrt.cn http://www.morning.kzqpn.cn.gov.cn.kzqpn.cn http://www.morning.gyrdn.cn.gov.cn.gyrdn.cn http://www.morning.ngcth.cn.gov.cn.ngcth.cn http://www.morning.dkbgg.cn.gov.cn.dkbgg.cn http://www.morning.rxlk.cn.gov.cn.rxlk.cn http://www.morning.xlxmy.cn.gov.cn.xlxmy.cn