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中的lstrip()方法使用简介
May 19 Python
在Django框架中伪造捕捉到的URLconf值的方法
Jul 18 Python
jupyter安装小结
Mar 13 Python
Python增量循环删除MySQL表数据的方法
Sep 23 Python
详解python实现识别手写MNIST数字集的程序
Aug 03 Python
python3.x提取中文的正则表达式示例代码
Jul 23 Python
python网络编程 使用UDP、TCP协议收发信息详解
Aug 29 Python
python 变量初始化空列表的例子
Nov 28 Python
django多种支付、并发订单处理实例代码
Dec 13 Python
pandas中ix的使用详细讲解
Mar 09 Python
python求前n个阶乘的和实例
Apr 02 Python
Python 可视化神器Plotly详解
Dec 26 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 数组排序方法总结 推荐收藏
2010/06/30 PHP
apache php模块整合操作指南
2012/11/16 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
让iframe子窗体取父窗体地址栏参数(querystring)
2009/10/13 Javascript
Angularjs中UI Router的使用方法
2016/05/14 Javascript
微信JS-SDK坐标位置如何转换为百度地图坐标
2016/07/04 Javascript
jQuery购物网页经典制作案例
2016/08/19 Javascript
JS控制div跳转到指定的位置的几种解决方案总结
2016/11/05 Javascript
javascript 定时器工作原理分析
2016/12/03 Javascript
JS产生随机数的用法小结
2016/12/10 Javascript
如何使用vuejs实现更好的Form validation?
2017/04/07 Javascript
angularjs中回车键触发某一事件的方法
2017/04/24 Javascript
微信小程序中post方法与get方法的封装
2017/09/26 Javascript
Javascript实现异步编程的过程
2018/06/18 Javascript
vue项目实现github在线预览功能
2018/06/20 Javascript
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
2019/10/25 Javascript
js实现简单抽奖功能
2020/11/24 Javascript
vue 使用饿了么UI仿写teambition的筛选功能
2021/03/01 Vue.js
[00:05]ChinaJoy现场 DOTA2玩家高呼“CN DOTA BEST DOTA”
2019/08/04 DOTA
Python使用MD5加密字符串示例
2014/08/22 Python
Python批量查询域名是否被注册过
2017/06/21 Python
python利用百度云接口实现车牌识别的示例
2020/02/21 Python
详解Open Folder as PyCharm Project怎么添加的方法
2020/12/29 Python
Melijoe英国官网:法国儿童时尚网站
2016/11/18 全球购物
惠普墨西哥官方商店:HP墨西哥
2016/12/01 全球购物
英国Office鞋店德国网站:在线购买鞋子、靴子和运动鞋
2018/12/19 全球购物
美国在线轮胎零售商:SimpleTire
2019/04/08 全球购物
前台文员的岗位职责
2013/11/14 职场文书
银行个人求职自荐信范文
2013/12/16 职场文书
自我评价如何写好?
2014/01/05 职场文书
在校生自我鉴定
2014/01/23 职场文书
给老师的检讨书
2014/02/11 职场文书
党的群众路线教育实践活动个人对照检查材料范文
2014/09/25 职场文书
师范生免费教育协议书范本
2014/10/09 职场文书
2016年4月份红领巾广播稿
2015/12/21 职场文书
 分享一个Python 遇到数据库超好用的模块
2022/04/06 Python