python出现套接字创建不成功_python套接字连接在Mac上被拒绝但在Windows
这不是connection refused的重复。此问题询问MacOS和Windows之间的区别。此外,Mac上的防火墙已关闭。
我正在尝试通过套接字与设备通信。代码用python编写。出于某种原因,如果我在Windows上运行我的代码,一切正常,但如果我在Mac上执行,则不会。我的一位同事在C中编写了相同的代码,并在Mac上运行并且没有任何问题。有人知道会出现什么问题吗?
如果需要,我可以提供更多详细信息。请告诉我哪些。
修改
这是代码
class Device(object):
def __init__(self, ip_addr, port):
self.ip_addr = ip_addr
self.port = port
def say_hi(self):
msg = [254, 49, 0]
ret = self.send_msg(msg)
msg = [254, 29]
return self.send_msg(msg)
def say_bye(self):
msg = [254, 49, 0]
ret = self.send_msg(msg)
msg = [254, 30]
return self.send_msg(msg)
def get_status(self):
msg = [254, 49, 0]
ret = self.send_msg(msg)
msg = [254, 16]
return self.send_msg(msg)
def send_msg(self, msg):
msg = ''.join(chr(i) for i in msg)
s = socket.create_connection((self.ip_addr , self.port))
s.sendall(msg)
ret = s.recv(1)
s.close()
return ord(ret)
这是我得到的错误:
[Errno 61] Connection refused
错误发生在以下行:
s = socket.create_connection((self.ip_addr , self.port))
编辑2
ip_addr='172.24.176.46', port='2101'
我可以访问该地址。以下是ping的结果
$ ping 172.24.176.46
PING 172.24.176.46 (172.24.176.46): 56 data bytes
64 bytes from 172.24.176.46: icmp_seq=0 ttl=64 time=0.495 ms
64 bytes from 172.24.176.46: icmp_seq=1 ttl=64 time=0.398 ms
64 bytes from 172.24.176.46: icmp_seq=2 ttl=64 time=0.452 ms
^C
编辑3
我找到了一个有效的代码,它可以在Windows和Mac上运行。我将在下面提供,但基本上我做的是在类初始化期间(即在__init__)和不关闭send_msg中的连接时创建连接。这是我的问题:这样做是否安全和正确?不关闭连接似乎不是一个好方法。我很感激任何帮助。我的新代码如下。
class Device(object):
def __init__(self, ip_addr, port):
self.ip_addr = ip_addr
self.port = port
self.socket = socket.create_connection((self.ip_addr , self.port))
def say_hi(self):
msg = [254, 49, 0]
ret = self.send_msg(msg)
msg = [254, 29]
return self.send_msg(msg)
def say_bye(self):
msg = [254, 49, 0]
ret = self.send_msg(msg)
msg = [254, 30]
return self.send_msg(msg)
def get_status(self):
msg = [254, 49, 0]
ret = self.send_msg(msg)
msg = [254, 16]
return self.send_msg(msg)
def send_msg(self, msg):
msg = ''.join(chr(i) for i in msg)
self.socket.sendall(msg)
ret = self.socket.recv(1)
return ord(ret)
python出现套接字创建不成功_python套接字连接在Mac上被拒绝但在Windows相关推荐
- python出现套接字创建不成功_python套接字协议不支持 - python
我在RaspberryPi3上使用了python-can-isotp,并使用示例代码对其进行了测试,但出现错误. 我的简单代码: import isotp s = isotp.socket() s2 ...
- python生僻字如何转码_Python检测生僻字的实现方法
import re pattern = re.compile('[abc]') match_result = pattern.match('fabc') if match_result: print ...
- python井字棋游戏代码_python实现井字棋游戏
python实现井字棋游戏 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: python实现井字棋游戏.txt ] (友情提示:右键点上行txt文档名->目标 ...
- python watchdog 同时检测到多个事件_python中watchdog文件监控与检测上传功能
引言 上一篇介绍完了观察者模式的原理,本篇想就此再介绍一个小应用,虽然我也就玩了一下午,是当时看observer正好找到的,以及还有Django-observer,但Django很久没用了,所以提下这 ...
- Python网络编程2:创建套接字和套接字对象的内建方法
1.使用socket模块中socket()函数创建套接字: socket()函数返回一个socket对象,该对象的方法实现了各种socket系统调用. 语法: import socket socket ...
- python套接字编程_Python套接字编程(1)——socket模块与套接字编程
在Python网络编程系列,我们主要学习以下内容: 5. 常见的Python异步编程框架 6. 协程在Python网络编程中的使用 本文介绍Python下的基本套接字编程,主要基于 socket 模块 ...
- C语言socket accept()函数(提取出所监听套接字的等待连接队列中第一个连接请求,创建一个新的套接字,并返回指向该套接字的文件描述符)
文章目录 名称 使用格式 功能参数描述 参数 sockfd addr addrlen 返回值 示例 man 2 文档中的accept解释 错误处理 名称 accept() 接收一个套接字中已建立的连接 ...
- 套接字创建、连接和关闭函数
下图是一对 TCP 客户与服务器进程之间发生的一些典型事件的时间表. [img]http://dl2.iteye.com/upload/attachment/0126/4398/db4635bf-09 ...
- python创建tcp socket_Python Socket如何建立TCP连接
在 Python 程序中创建 TCP 服务器时,创建通用 TCP 服务器的一般演示代码如下.需要记住的是,这仅是设计服务器的一种方式.一旦熟悉了服务器设计,可以修改下面的代码来操作服务器. ss = ...
最新文章
- 服务端的第六周第二次的课程
- 《Android 游戏开发大全(第二版)》——6.4节角色扮演游戏
- asp.net 加载xml到menu
- 贪心算法之用优先队列解决最短路径问题(Dijkstra算法)
- 工作100:v-model自定义是父亲组件得值
- 【转】10.Qt编程涉及的术语和名词
- tomcat日志,用户以及启动时的一些问题
- IDEA引入外部jar包的方法
- sw工程图导出bom_SolidWorks材料明细表自动调用钣金展开尺寸,轻松导出BOM表
- 详解 | Spring Boot 最核心的 3 个注解详解
- Pycharm更改快速规整代码快捷键
- vc++中ListBox用法
- Qt学习之C++基础
- c语言求素数思路,C语言 素数三种思路求解
- Android国家区号 中英文
- 三合一收款二维码原理以及源码
- 星空下的新赛点,民营航空迎来新机会
- 以太网网络变压器EMI电流及以太网网络变压器对EMI阻断原理
- 红米Note5官方刷机日记 - 小米助手Recovery刷机
- 数据猿·金猿榜丨2017工业大数据领域最具潜力创业公司
热门文章
- Java应用程序项目的打包与发行
- 高级运维工程师的打怪升级之路
- ofbiz之entity 实体解析 扩展 视图 复合列写法
- winscp开启ftp_如何使用winscp,如何使用winscp连接FTP
- wxml 点击图片下载_微信小程序通过ipfs-api 实现图片文件在私有ipfs网络的上传与下载显示...
- jstree中文api文档_开发中文 API 的一些策略
- python爬虫执行js代码_爬虫之python3用execjs执行JS代码
- 生成删除约束语句 SQL语句
- java自己实现读写锁_关于读写锁算法的Java实现及思考
- postgresql 子查询_PostgreSQL子事务及性能分析