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中的with...as用法介绍
May 28 Python
批量获取及验证HTTP代理的Python脚本
Apr 23 Python
Python3 获取一大段文本之间两个关键字之间的内容方法
Oct 11 Python
python实现对任意大小图片均匀切割的示例
Dec 05 Python
Python基于Tkinter模块实现的弹球小游戏
Dec 27 Python
python Selenium实现付费音乐批量下载的实现方法
Jan 24 Python
python3实现指定目录下文件sha256及文件大小统计
Feb 25 Python
python openCV获取人脸部分并存储功能
Aug 28 Python
Python3 虚拟开发环境搭建过程(图文详解)
Jan 06 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
Jan 18 Python
Java ExcutorService优雅关闭方式解析
May 30 Python
Jupyter Notebook 如何修改字体和大小以及更改字体样式
Jun 03 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/11/26 PHP
php修改NetBeans默认字体的大小
2013/07/02 PHP
Destoon模板制作简明教程
2014/06/20 PHP
php实现的双色球算法示例
2017/06/20 PHP
php基于Redis消息队列实现的消息推送的方法
2018/11/28 PHP
心扬JS分页函数代码
2010/09/10 Javascript
jQuery 表单验证扩展(三)
2010/10/20 Javascript
Javascript面向对象之四 继承
2011/02/08 Javascript
jquery限定文本框只能输入数字即整数和小数
2013/11/29 Javascript
用JQuery实现全选与取消的两种简单方法
2014/02/22 Javascript
javascript常用代码段搜集
2014/12/04 Javascript
js实现点击按钮后给Div图层设置随机背景颜色的方法
2015/05/06 Javascript
webpack里使用jquery.mCustomScrollbar插件的方法
2018/05/30 jQuery
小程序云开发之用户注册登录
2019/05/18 Javascript
vue实现的请求服务器端API接口示例
2019/05/25 Javascript
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
[00:50]2014DOTA2国际邀请赛 NEWBEE战队回顾
2014/08/01 DOTA
Python常用随机数与随机字符串方法实例
2015/04/09 Python
简单了解Django模板的使用
2017/12/20 Python
Go/Python/Erlang编程语言对比分析及示例代码
2018/04/23 Python
Python协程 yield与协程greenlet简单用法示例
2019/11/22 Python
在Matplotlib图中插入LaTex公式实例
2020/04/17 Python
python能做哪方面的工作
2020/06/15 Python
python 实现朴素贝叶斯算法的示例
2020/09/30 Python
英国最大的奢侈珠宝和手表网站:C W Sellors
2017/02/10 全球购物
小天鹅官方商城:LittleSwan
2017/06/16 全球购物
精美的手工家居和生活用品:Nkuku
2019/11/01 全球购物
NYX Professional Makeup英国官网:美国平价专业彩妆品牌
2019/11/13 全球购物
linux面试题参考答案(7)
2014/07/24 面试题
给老师的道歉信
2014/01/11 职场文书
2013年军训通讯稿
2014/02/05 职场文书
电子商务专业求职信
2014/03/08 职场文书
2015年乡镇残联工作总结
2015/05/13 职场文书
主持人开场白台词
2015/05/29 职场文书
Axios代理配置及封装响应拦截处理方式
2022/04/07 Vue.js
浅析JavaScript中的变量提升
2022/06/01 Javascript