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 相关文章推荐
windows下安装python paramiko模块的代码
Feb 10 Python
python创建线程示例
May 06 Python
Python+tkinter使用40行代码实现计算器功能
Jan 30 Python
python获取文件路径、文件名、后缀名的实例
Apr 23 Python
详解python中@的用法
Mar 27 Python
在python shell中运行python文件的实现
Dec 21 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
May 27 Python
使用pycharm和pylint检查python代码规范操作
Jun 09 Python
python 抓取知乎指定回答下视频的方法
Jul 09 Python
python 安装移动复制第三方库操作
Jul 13 Python
浅谈Python __init__.py的作用
Oct 28 Python
python3中TQDM库安装及使用详解
Nov 18 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
ThinkPHP3.1.x修改成功与失败跳转页面的方法
2017/09/29 PHP
PHP实现简单的协程任务调度demo示例
2020/02/01 PHP
pjblog修改技巧汇总
2007/03/12 Javascript
js客户端快捷键管理类的较完整实现和应用
2010/06/08 Javascript
javascript中的一些注意事项 更新中
2010/12/06 Javascript
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
JS判断表单输入是否为空(示例代码)
2013/12/23 Javascript
基于JQuery实现的图片自动进行缩放和裁剪处理
2014/01/31 Javascript
Javascript前端UI框架Kit使用指南之Kitjs简介
2014/11/28 Javascript
浅谈javascript回调函数
2014/12/07 Javascript
jQuery根据元素值删除数组元素的方法
2015/06/24 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
2016/01/23 Javascript
js完整倒计时代码分享
2016/09/18 Javascript
jQuery实现自动调用和触发某个事件的方法
2016/11/18 Javascript
Javascript之面向对象--封装
2016/12/02 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
2017/03/01 Javascript
vue中SPA单页面应用程序详解
2017/11/07 Javascript
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
vue绑定事件后获取绑定事件中的this方法
2018/09/15 Javascript
微信小程序实现页面分享onShareAppMessage
2019/08/12 Javascript
Python+微信接口实现运维报警
2016/08/27 Python
python调用百度语音REST API
2018/08/30 Python
python求解数组中两个字符串的最小距离
2018/09/27 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
2018/10/29 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
2019/07/08 Python
Window10下python3.7 安装与卸载教程图解
2019/09/30 Python
关于Theano和Tensorflow多GPU使用问题
2020/06/19 Python
澳大利亚游乐场设备品牌:Lifespan Kids
2019/05/24 全球购物
某公司.Net方向面试题
2014/04/24 面试题
环境工程大学生自荐信
2013/10/21 职场文书
国窖1573广告词
2014/03/21 职场文书
MongoDB使用profile分析慢查询的步骤
2021/04/30 MongoDB
HDFS免重启挂载新磁盘
2022/04/06 Servers
PyTorch中permute的使用方法
2022/04/26 Python