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端口扫描简单程序
Nov 10 Python
python保存数据到本地文件的方法
Jun 23 Python
python实现维吉尼亚加密法
Mar 20 Python
Python程序包的构建和发布过程示例详解
Jun 09 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
Jun 20 Python
PyQt5根据控件Id获取控件对象的方法
Jun 25 Python
Python实现RabbitMQ6种消息模型的示例代码
Mar 30 Python
python torch.utils.data.DataLoader使用方法
Apr 02 Python
python如何删除文件、目录
Jun 23 Python
Django中F函数的使用示例代码详解
Jul 06 Python
基于Python中Remove函数的用法讨论
Dec 11 Python
使用numpngw和matplotlib生成png动画的示例代码
Jan 24 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 的几个配置文件函数
2006/12/21 PHP
PHP引用符&的用法详细解析
2013/08/22 PHP
详解PHP中的PDO类
2015/07/06 PHP
学习php设计模式 php实现命令模式(command)
2015/12/08 PHP
yii分页组件用法实例分析
2015/12/28 PHP
PHP实现的随机红包算法示例
2017/08/14 PHP
laravel异步监控定时调度器实例详解
2019/06/21 PHP
php依赖注入知识点详解
2019/09/23 PHP
PHP fopen中文文件名乱码问题解决方案
2020/10/28 PHP
jQuery源码分析-02正则表达式 RegExp 常用正则表达式
2011/11/14 Javascript
jQuery:节点(插入,复制,替换,删除)操作
2013/03/04 Javascript
js取消单选按钮选中并判断对象是否为空
2013/11/14 Javascript
javascript中attachEvent用法实例分析
2015/05/14 Javascript
javascript设计简单的秒表计时器
2020/09/05 Javascript
JavaScript中windows.open()、windows.close()方法详解
2016/07/28 Javascript
JS 仿支付宝input文本输入框放大组件的实例
2017/11/14 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
基于原生js实现判断元素是否有指定class名
2020/07/11 Javascript
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
[42:24]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第三场 11.27
2020/12/01 DOTA
pyqt4教程之messagebox使用示例分享
2014/03/07 Python
Python中的类学习笔记
2014/09/23 Python
完美解决Python2操作中文名文件乱码的问题
2017/01/04 Python
django框架创建应用操作示例
2019/09/26 Python
Python格式化输出--%s,%d,%f的代码解析
2020/04/29 Python
利用css3制作3D样式按钮实现代码
2013/03/18 HTML / CSS
eBay美国官网:eBay.com
2020/10/24 全球购物
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
迅雷Cued工作心得体会
2014/01/27 职场文书
中专自我鉴定
2014/02/05 职场文书
政治学求职信
2014/06/03 职场文书
办公室领导干部作风整顿个人整改措施
2014/09/17 职场文书
优秀员工事迹材料
2014/12/20 职场文书
承诺书怎么写 ?
2019/04/16 职场文书
详解Js模块化的作用原理和方案
2021/04/29 Javascript
动画电影《擅长捉弄人的高木同学》6月10日上映!
2022/03/20 日漫