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中的作用域规则详解
Jan 30 Python
python实现的简单文本类游戏实例
Apr 28 Python
pytorch构建网络模型的4种方法
Apr 13 Python
python 集合 并集、交集 Series list set 转换的实例
May 29 Python
python 实现调用子文件下的模块方法
Dec 07 Python
python远程调用rpc模块xmlrpclib的方法
Jan 11 Python
使用python Telnet远程登录执行程序的方法
Jan 26 Python
Python-Tkinter Text输入内容在界面显示的实例
Jul 12 Python
Django使用Jinja2模板引擎的示例代码
Aug 09 Python
python获取linux系统信息的三种方法
Oct 14 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
Nov 22 Python
pandas中DataFrame数据合并连接(merge、join、concat)
May 30 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
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
php实现转换html格式为文本格式的方法
2016/05/16 PHP
用Javscript实现表单复选框的全选功能
2007/05/25 Javascript
javascript实现的使用方向键控制光标在table单元格中切换
2010/11/17 Javascript
对xmlHttp对象方法和属性的理解
2011/01/17 Javascript
js 模式窗口(模式对话框和非模式对话框)的使用介绍
2014/07/17 Javascript
基于insertBefore制作简单的循环插空效果
2015/09/21 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
jQuery插件ajaxFileUpload使用实例解析
2016/10/19 Javascript
js实现类bootstrap模态框动画
2017/02/07 Javascript
JavaScript反弹动画效果的实现代码
2017/07/13 Javascript
JavaScript中in和hasOwnProperty区别详解
2017/08/04 Javascript
vue2.0+koa2+mongodb实现注册登录
2018/04/10 Javascript
React Native基础入门之初步使用Flexbox布局
2018/07/02 Javascript
vue使用swiper.js重叠轮播组建样式
2019/11/14 Javascript
如何手写一个简易的 Vuex
2020/10/10 Javascript
React中使用Vditor自定义图片详解
2020/12/25 Javascript
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
Linux下Python获取IP地址的代码
2014/11/30 Python
Python bsddb模块操作Berkeley DB数据库介绍
2015/04/08 Python
python实现批量下载新浪博客的方法
2015/06/15 Python
利用Python生成文件md5校验值函数的方法
2017/01/10 Python
Python3利用SMTP协议发送E-mail电子邮件的方法
2017/09/30 Python
Django之模型层多表操作的实现
2019/01/08 Python
Python实现的合并两个有序数组算法示例
2019/03/04 Python
python 一篇文章搞懂装饰器所有用法(建议收藏)
2019/08/23 Python
在Keras中实现保存和加载权重及模型结构
2020/06/15 Python
日本高端护肤品牌:Tatcha
2016/08/29 全球购物
高校辅导员推荐信范文
2013/12/25 职场文书
安全检查验收制度
2014/01/12 职场文书
社区庆中秋节活动方案
2014/02/07 职场文书
文化活动实施方案
2014/03/28 职场文书
煤矿安全协议书
2014/08/20 职场文书
篮球比赛通讯稿
2015/07/18 职场文书
新学期感想
2015/08/10 职场文书
2016年助残日旅游活动总结
2016/04/01 职场文书