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中列表和元祖的使用方法
Apr 25 Python
深入解读Python解析XML的几种方式
Feb 16 Python
Eclipse中Python开发环境搭建简单教程
Mar 23 Python
python脚本爬取字体文件的实现方法
Apr 29 Python
利用aardio给python编写图形界面
Aug 21 Python
django连接mysql配置方法总结(推荐)
Aug 18 Python
Python3爬取英雄联盟英雄皮肤大图实例代码
Nov 14 Python
30行Python代码实现高分辨率图像导航的方法
May 22 Python
给Django Admin添加验证码和多次登录尝试限制的实现
Jul 26 Python
matplotlib图例legend语法及设置的方法
Jul 28 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
Feb 20 Python
Pyqt5将多个类组合在一个界面显示的完整示例
Sep 04 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实现的汉字拼音转换和公历农历转换类及使用示例
2014/07/01 PHP
php抽奖概率算法(刮刮卡,大转盘)
2020/04/17 PHP
PDO::errorInfo讲解
2019/01/28 PHP
PHP如何通过date() 函数格式化显示时间
2020/11/13 PHP
jQuery 对Select的操作备忘记录
2011/07/04 Javascript
js模拟select下拉菜单控件的代码
2013/05/08 Javascript
jquery制作 随机弹跳的小球特效
2015/02/01 Javascript
JS中prototype的用法实例分析
2015/03/19 Javascript
javascript控制层显示或隐藏的方法
2015/07/22 Javascript
jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解
2016/01/19 Javascript
利用JS生成博文目录及CSS定制博客
2016/02/10 Javascript
Vue2学习笔记之请求数据交互vue-resource
2017/02/23 Javascript
微信小程序 sha1 实现密码加密实例详解
2017/07/06 Javascript
js 倒计时(高效率服务器时间同步)
2017/09/12 Javascript
详解vue+css3做交互特效的方法
2017/11/20 Javascript
nodejs+express搭建多人聊天室步骤
2018/02/12 NodeJs
ng-alain表单使用方式详解
2018/07/10 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
2018/09/13 Javascript
微信小程序实现文字从右向左无限滚动
2020/11/18 Javascript
Angular8 Http拦截器简单使用教程
2019/08/20 Javascript
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
2014/06/10 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
2017/12/08 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
python语言线程标准库threading.local解读总结
2019/11/10 Python
Python模拟登录之滑块验证码的破解(实例代码)
2019/11/18 Python
Tensorflow 模型转换 .pb convert to .lite实例
2020/02/12 Python
Python使用xlrd实现读取合并单元格
2020/07/09 Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
2021/03/03 Python
我的动漫时代的创业计划书范文
2014/01/27 职场文书
《这儿真好》教学反思
2014/02/22 职场文书
群教个人对照检查材料
2014/08/20 职场文书
2014年电教工作总结
2014/12/19 职场文书
商务宴会祝酒词
2015/08/11 职场文书
共青团优秀团员申请书(范文)
2019/08/15 职场文书
Django 实现jwt认证的示例
2021/04/30 Python
Python爬虫入门案例之回车桌面壁纸网美女图片采集
2021/10/16 Python