python SOCKET编程基础入门


Posted in Python onFebruary 27, 2021

一、UDP编程

1.客户端Client:发起访问的一方。

2.服务器端

3.server段编程

(1)建立socket,socket是负责具体通信的一个实例

(2)绑定,为创建的socket指派固定的端口和IP地址

(3)接受对方发送内容

(4)给对方发送反馈,此步骤为非必须步骤

4.Client端编程

(1)建立通信的socket

(2)发送内容到指定服务器

(3)接受服务器给定的反馈内容

5.模拟一下这个过程

(1)我们先建立一个服务器的函数

#服务器案例

import socket

​

#模拟服务器的函数

def serverFunc():

  #1.建立socket

  #socket.AF_INET:使用IPV4协议族

  #socket.SOCK_DGRAM:使用UDP通信

  sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

  #2.绑定ip和port

​

  #127.0.01:这个ip地址代表的是机器本身

  #7852:随机指定的端口号

  #地址是一个tuple类型,(ip.port)

  addr = ("127.0.0.1",7852)

  sock.bind(addr)

​

  #接受对方消息

  #等待方式为死等,没有其他可能性

  #recvfrom接受的返回值是一个元组,前一项表示数据,后一项表示地址

  #参数的含义是缓冲区大小

  #rst = sock.recvfrom(500)

  data,addr = sock.recvfrom(500)

​

  print(data)

  print(type(data))

​

  #发送过来的数据是bytes格式,必须通过解码才能得到str格式内容

  #decode默认参数是utf8

  text = data.decode()

  print(type(text))

  print(text)

​

  #给对方反馈的消息

  rsp = "I am very hungry now"

​

  #发送的数据需要编程成bytes格式

  #默认时utf8

  data = rsp.encode()

  sock.sendto(data,addr)

  

if __name__ == "__main__":

  print("Start Server")

  serverFunc()

print("End Server")

(2)然后创建一个客户端的函数

import socket

def clientFunc():

  sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

  text = "you are very cool"

​

  #发送的数据必须是bytes格式

  data = text.encode()

  #发送

  sock.sendto(data,("127.0.0.1",7852))

  data,addr =sock.recvfrom(200)

​

  data = data.decode()

  print(text)

​

if __name__ == "__main__":

  print("Start Client")

  clientFunc()

print("End Client")

(3)我们先启动服务器端函数

出现如下图像,它是创建了一个sock,然后自己绑定到127.0.0.1:7852,运行到sock.recvfrom(500)这里死等客户端发消息

python SOCKET编程基础入门

(4)再启动客户端函数

出现如下发送编码后的​text内容到服务器(127.0.0.1:7852),服务器成功接收后返回you are cool这句话。

python SOCKET编程基础入门

(5)我们再看服务器的函数那里

接受了bytes格式的字符串,并打印出来了,然后再解码打印出来,最后把you are cool返回​客户端。

python SOCKET编程基础入门

(6)这里有个地方没有办法:因为我们在一台电脑上做的测试,所以相当于自言自语,​不如在两台电脑上进行试验。​

二、源码

D33_1_ServerProgramme.py

D33_2_ClientProgramme.py

https://github.com/ruigege66/Python_learning/blob/master/D33_1_ServerProgramme.py

https://github.com/ruigege66/Python_learning/blob/master/D33_2_ClientProgramme.py

以上就是python SOCKET编程基础入门的详细内容,更多关于python SOCKET编程的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
仅用50行代码实现一个Python编写的计算器的教程
Apr 17 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
Jul 09 Python
Python每天必学之bytes字节
Jan 28 Python
python学习教程之使用py2exe打包
Sep 24 Python
python求解数组中两个字符串的最小距离
Sep 27 Python
python文件写入write()的操作
May 14 Python
使用Python制作表情包实现换脸功能
Jul 19 Python
FFrpc python客户端lib使用解析
Aug 24 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
Aug 29 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
Mar 02 Python
python+selenium 脚本实现每天自动登记的思路详解
Mar 11 Python
详解python os.path.exists判断文件或文件夹是否存在
Nov 16 Python
python 对xml解析的示例
Feb 27 #Python
python如何发送带有附件、正文为HTML的邮件
Feb 27 #Python
pytorch __init__、forward与__call__的用法小结
Feb 27 #Python
python 实现有道翻译功能
Feb 26 #Python
Python爬取酷狗MP3音频的步骤
Feb 26 #Python
python利用xpath爬取网上数据并存储到django模型中
Feb 26 #Python
用python 绘制茎叶图和复合饼图
Feb 26 #Python
You might like
php 来访国内外IP判断代码并实现页面跳转
2009/12/18 PHP
php 截取字符串并以零补齐str_pad() 函数
2011/05/07 PHP
PHP设置一边执行一边输出结果的代码
2013/09/30 PHP
PHP获取网页标题的3种实现方法代码实例
2014/04/11 PHP
配置Nginx+PHP的正确思路与过程
2016/05/10 PHP
让你的PHP7更快之Hugepage用法分析
2016/05/31 PHP
PHP解析url并得到url参数方法总结
2018/10/11 PHP
Wordpress ThickBox 添加“查看原图”效果代码
2010/12/11 Javascript
JQuery通过Ajax提交表单并返回结果
2011/07/31 Javascript
jquery无法设置checkbox选中即没有变成选中状态
2014/03/27 Javascript
JavaScript使用slice函数获取数组部分元素的方法
2015/04/06 Javascript
关于vue.extend和vue.component的区别浅析
2017/08/16 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
关于vue的npm run dev和npm run build的区别介绍
2019/01/14 Javascript
利用Node.js如何实现文件循环覆写
2019/04/05 Javascript
JavaScript 实现同时选取多个时间段的方法
2019/10/17 Javascript
es6中let和const的使用方法详解
2020/02/24 Javascript
基于aotu.js实现微信自动添加通讯录中的联系人功能
2020/05/28 Javascript
微信h5静默和非静默授权获取用户openId的方法和步骤
2020/06/08 Javascript
[01:40]2014DOTA2国际邀请赛 三冰SOLO赛后采访恶搞
2014/07/09 DOTA
利用Python脚本实现ping百度和google的方法
2017/01/24 Python
python实现将excel文件转化成CSV格式
2018/03/22 Python
python3.X 抓取火车票信息【修正版】
2018/06/19 Python
python 常见字符串与函数的用法详解
2018/11/23 Python
matplotlib实现显示伪彩色图像及色度条
2019/12/07 Python
用python介绍4种常用的单链表翻转的方法小结
2020/02/24 Python
美国知名的在线旅游服务网站:Priceline
2016/07/23 全球购物
美国经典刺绣和字母儿童服装特卖:Smocked Auctions
2018/07/16 全球购物
Exception类的常用方法
2012/06/16 面试题
信息与计算科学专业推荐信
2014/02/23 职场文书
2015年售票员工作总结
2015/04/29 职场文书
高考诚信考试承诺书
2015/04/29 职场文书
2016年秋季开学典礼新闻稿
2015/11/25 职场文书
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
2021/05/21 Python
OpenCV-Python实现人脸美白算法的实例
2021/06/11 Python
Python 游戏大作炫酷机甲闯关游戏爆肝数千行代码实现案例进阶
2021/10/16 Python