Python3的socket使用方法详解


Posted in Python onFebruary 18, 2020

这篇文章主要介绍了Python3的socket使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

需要实现两台机器的信息交互,使用 socket 进行调度。其中服务端为:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket

# 服务端ip
server_address = ('192.168.229.129',10000)
# 客户端ip
client_address = ("192.168.229.130",10000)
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

s.bind(server_address)
while 1:
  data,addr=s.recvfrom(2048)
  if not data:
    break
  print("got data from",addr)
  print(data.decode())
  replydata = input("reply:")
  s.sendto(replydata.encode("utf-8"),client_address)
s.close()

客户端为:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import socket

# 服务端ip
server_address = ('192.168.229.129',10000)
# 客户端ip
client_address = ("192.168.229.130",10000)

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(client_address)
while 1:
  data = input("input:")
  if not data:
    break
  s.sendto(data.encode("utf-8"), server_address)

  recivedata, addrg = s.recvfrom(2048)
  if recivedata:
    print("from:", addrg)
    print("got recive :", recivedata.decode())
s.close()

启动过后如下所示:

客户端发送:

input:hello world
from: ('192.168.229.129', 10000)
got recive : my name is server
input:my name is client,hahaha
from: ('192.168.229.129', 10000)
got recive : woca

服务端接收:

got data from ('192.168.229.130', 10000)
hello world
reply:my name is server
got data from ('192.168.229.130', 10000)
my name is client,hahaha
reply:woca

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python编程中的for循环语句学习教程
Oct 14 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
Jul 10 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
Jan 17 Python
python实现读Excel写入.txt的方法
Apr 29 Python
python指定写入文件时的编码格式方法
Jun 07 Python
Python自定义装饰器原理与用法实例分析
Jul 16 Python
python如何制作英文字典
Jun 25 Python
TensorFlow tensor的拼接实例
Jan 19 Python
Tensorflow 模型转换 .pb convert to .lite实例
Feb 12 Python
Python 读取WAV音频文件 画频谱的实例
Mar 14 Python
Python StringIO及BytesIO包使用方法解析
Jun 15 Python
python中turtle库的简单使用教程
Nov 11 Python
Python批量启动多线程代码实例
Feb 18 #Python
基于pytorch padding=SAME的解决方式
Feb 18 #Python
Python中pyecharts安装及安装失败的解决方法
Feb 18 #Python
Python chardet库识别编码原理解析
Feb 18 #Python
解决pytorch-yolov3 train 报错的问题
Feb 18 #Python
利用PyQt中的QThread类实现多线程
Feb 18 #Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
Feb 18 #Python
You might like
PHP完整的日历类(CLASS)
2006/11/27 PHP
php中的MVC模式运用技巧
2007/05/03 PHP
PHP explode()函数用法讲解
2019/02/15 PHP
php中的依赖注入实例详解
2019/08/14 PHP
php实现断点续传大文件示例代码
2020/06/19 PHP
PHP7 windows支持
2021/03/09 PHP
Javascript 面向对象特性
2009/12/28 Javascript
js同比例缩放图片的小例子
2013/10/30 Javascript
jQuery Ajax中的事件详细介绍
2015/04/16 Javascript
SWFObject基本用法实例分析
2015/07/20 Javascript
JS从数组中随机取出几个数组元素的方法
2016/08/02 Javascript
以BootStrap Tab为例写一个前端组件
2017/07/25 Javascript
javascript+jQuery实现360开机时间显示效果
2017/11/03 jQuery
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
vue与iframe之间的信息交互的实现
2020/04/08 Javascript
Vue记住滚动条和实现下拉加载的完美方法
2020/07/31 Javascript
用PyQt进行Python图形界面的程序的开发的入门指引
2015/04/14 Python
python条件变量之生产者与消费者操作实例分析
2017/03/22 Python
python非递归全排列实现方法
2017/04/10 Python
Python学习小技巧之利用字典的默认行为
2017/05/20 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
linecache模块加载和缓存文件内容详解
2018/01/11 Python
Win10系统下安装labelme及json文件批量转化方法
2019/07/30 Python
python字典setdefault方法和get方法使用实例
2019/12/25 Python
Python-numpy实现灰度图像的分块和合并方式
2020/01/09 Python
Python+appium框架原生代码实现App自动化测试详解
2020/03/06 Python
Html5原创俄罗斯方块(基于canvas)
2019/01/07 HTML / CSS
中国第一家杂志折扣订阅网:杂志铺
2016/08/30 全球购物
Intersport西班牙:在线体育商店
2019/11/06 全球购物
创文明城市标语
2014/06/16 职场文书
“四风”问题自我剖析材料思想汇报
2014/09/23 职场文书
乡镇群众路线教育实践活动整改措施
2014/10/04 职场文书
宇宙与人观后感
2015/06/05 职场文书
新学期新寄语,献给新生们!
2019/11/15 职场文书
如何正确理解python装饰器
2021/06/15 Python
十大冰系宝可梦排名,颜值最高的阿罗拉九尾,第三使用率第一
2022/03/18 日漫