python socket.error: [Errno 48] Address already in use

[Errno 48] Address already in use 解决方法 在进行socket编程时,我们在运行server端代码的时候遇到了如下的问题: 显示地址已经被占用,那么我们如何解决这个问题? 首先我们看一下server端的代码: s = socket.socket() host = socket.gethostname() port = 12345 s.bind((host,port)) s.listen(5) Use lsof -i :5000 阅读详情

简单实例

服务端

我们使用 socket 模块的 socket 函数来创建一个 socket 对象。socket 对象可以通过调用其他函数来设置一个 socket 服务。

现在我们可以通过调用 bind(hostname, port) 函数来指定服务的 port(端口)。

接着,我们调用 socket 对象的 accept 方法。该方法等待客户端的连接,并返回 connection 对象,表示已连接到客户端。

完整代码如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:server.py

import socket               # 导入 socket 模块

s = socket.socket()         # 创建 socket 对象
host = socket.gethostname() # 获取本地主机名
port = 12345                # 设置端口
s.bind((host, port))        # 绑定端口

s.listen(5)                 # 等待客户端连接
while True:
    c, addr = s.accept()     # 建立客户端连接。
    print '连接地址:', addr
    c.send('欢迎访问菜鸟教程!')
    c.close()                # 关闭连接

客户端

接下来我们写一个简单的客户端实例连接到以上创建的服务。端口号为 12345。

socket.connect(hosname, port ) 方法打开一个 TCP 连接到主机为 hostname 端口为 port 的服务商。连接后我们就可以从服务端后期数据,记住,操作完成后需要关闭连接。

完整代码如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:client.py

import socket               # 导入 socket 模块

s = socket.socket()         # 创建 socket 对象
host = socket.gethostname() # 获取本地主机名
port = 12345                # 设置端口好

s.connect((host, port))
print s.recv(1024)
s.close()  

现在我们打开连个终端,第一个终端执行 server.py 文件:

$ python server.py

第二个终端执行 client.py 文件:

$ python client.py 
欢迎访问菜鸟教程!

这是我们再打开第一个终端,就会看到有以下信息输出:

连接地址: ('192.168.0.118', 62461)

当我们执行上面的简单例子时,经常遇到这个错误。

那么怎么解决呢。给出两个简单的办法

打开终端,输入sudo lsof -i:XXXX

xxxx是你刚刚用来开启服务的端口号

然后执行kill AAAA

aaaa是出现的那个PID


第二个办法,打开终端,输入ps,回车

找到含有“python”关键词的PID,kill

“socket.error: [Errno 10048] Address already in use通常每个套接字地址(协议/网络地址/端口)只允许使用一次” 一、原因浅析 今天在写一个Python与html5 Websocket 实例,么次终止运行重新运行脚本总是提示地址已经存在并且被使用!查询相关文档才知道在socket编程中,当通过客户端向服务器端发送消息,关闭了连接后,这时如果马上再去运行服务器端程序,会提示这个错误: 复制代码代码如下: socket.error: [Errno 98] Address already in use ... 阅读详情

相关推荐

CANFD升级踩坑实录:DBC转换时DLC大于8的信号怎么处理?

本文详细探讨了CANFD升级过程中DLC大于8的信号处理问题,提供了工程化解决方案和AutoSar BSW层配置要点。通过分析CAN与CANFD的DLC本质差异,提出信号拆分重组、DLC重映射和协议层适配三种策略,并给出验证与测试方案,帮助开发者避免数据截断和通信故障。

weixin_42521843的博客 230

socket.error: [Errno 48] Address already in use

sudo lsof -i: port kill XXXX

qq_28979491的博客 723

Warning-[INFL_DELTA] Too many events zero delay loop

项目场景: 运用VCS工具执行仿真的时候,遇到如下错误提示,但仿真还在继续。 Warning-[INFL_DELTA] Too many events Possible zero delay loop. Too many events in the simulation at time 0 fs. 问题描述: 为什么会有这个问题; 什么导致了这个问题; 原因分析: 1、为什么会有这个问题 由于竞争条件或编码风格不明确,可能会产生零延时回路,导致仿真挂起或仿真时间无限。 2、什么导致了这个问题 举

hh199203的博客 1万+

python3网络编程实例_python3 网络编程-socket错误OEError: [Errno 48] Address already in use...

在TCP重启服务端会遇到OEError: [Errno 48] Address already in use问题原因:这个是由于你的服务端仍然存在四次挥手的time_wait状态在占用地址(如果不懂,请深入研究1.tcp三次握手,四次挥手2.syn洪水攻击3.服务器高并发情况下会有大量的time_wait状态的优化方法)解决方法代码示例:加入一条socket配置,重用ip和端口:phone=soc...

weixin_39866741的博客 273

CEH Practical 实战考试真题与答案

CEH Practical 是 EC-Council 推出的Certified Ethical Hacker(CEH)认证项目中的一项高级动手实践考试。它不同于传统的理论考试,侧重于在真实环境中检验考生的实操能力。

sgafdgdagd的博客 968

【EDA Tools】Spyglass 检查 Verilog 和 SystemVerilog 混合语言及 Lint 检查

Spyglass可以用于检查混合设计中的语言互操作性和一致性问题。对于设计中包含多种硬件描述语言的情况,Spyglass 能够识别并解析其中的模块及其互连,并对其进行验证。例如,在包含 Verilog 和 VHDL 的混合设计中,Spyglass 会自动识别并解析 Verilog 和 VHDL 文件及其相互连接。通过运行 Spyglass Lint 功能,可以检查混合设计中的语言一致性问题,例如不兼容的数据类型、互操作性问题以及其他可能导致设计故障或不一致的问题。

记录学习历程 5080

使用python Socket为SparkStreaming 提供数据 (socket.error: [Errno 48] Address already in use)

这里写一个例子,利用socket为 Spark Stream提供数据 socket.error: [Errno 48] Address already in use 需要把so_reuseaddr设置为1,这样在关闭socket对象后可以重复使用地址 import socket from time import sleep host = 'localhost' port = 9999 s ...

a8131357leo的博客 668

Playwright Test Agent 实战:零代码基础也能写自动化测试「喂饭教程」

本文详细介绍了Playwright智能体的三大核心组件:规划智能体设计测试策略,生成智能体转换用例为代码,修复智能体自动修正失败测试。教程包含环境配置步骤、智能体使用方法和实战案例,展示了如何通过自然语言指令快速创建稳定的测试脚本。相比传统方法,Playwright智能体大幅降低测试自动化门槛,提升效率并减少维护成本,使测试人员无需编码基础也能实现高质量的自动化测试。

blues_C的博客 2019

Mac 下 python socket.error: [Errno 48] Address already in use

打开终端,输入sudo lsof -i:XXXX xxxx是你刚刚用来开启服务的端口号 然后执行kill -9 aaaa aaaa是出现的那个PID 然后重新运行程序即可成功

china_njupt_mao的博客 928

69、SAP数据库归档重做日志备份策略与工具详解

本文详细解析了SAP数据库归档重做日志备份的重要性及策略,介绍了SAP提供的备份工具brarchive及其配置和使用方法,探讨了BRBACKUP与BRARCHIVE的联合运行、一致在线备份、备用数据库备份场景以及备份策略的综合应用与优化。此外,还分析了备份过程中常见问题的解决方法、备份监控与评估流程、与第三方备份解决方案的集成方式,以及未来备份技术的发展趋势和应对策略。通过合理运用这些策略和工具,可以有效保障SAP数据库的安全性和可恢复性。

peace的博客 135

FPGA面试题目笔记(一)——FPGA开发流程、亚稳态和竞争冒险、建立保持时间、异步FIFO深度等

同步异步电路、同步异步复位、时钟偏移和抖动、最小工作周期计算、触发器锁存器

H19981118的博客 1万+

解决socket.error: [Errno 98] Address already in use问题

一、基本设置 如果python中socket 绑定的地址正在使用,往往会出现错误, 在linux下: 则会显示“ socket.error: [Errno

wangchaoqi1985的博客 4740

SAP生产订单技术性完成(TECO)操作指南与实战应用

生产订单技术关闭操作指南主要包括单笔和批量关闭两种方式,通过CO02/COHV事务码完成。

m0_47402127的博客 1932

python socket.error: [Errno 98] Address already in use

socket.error: [Errno 98] Address already in use Ctrl-C 终止 socket 程序之后,出现如下报错,一般需要等一会儿才能再次运行程序。 Traceback (most recent call last): File "server_5000.py", line 10, in <module> sk.bind(ip_port) # 绑定 IP、端口; File "/usr/lib/python2.7/socket.

解琛的博客 1343

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

解决python脚本连接终止问题_Python socket.error: [Errno 98] Address already in use的原因和解决方法...

一、原因浅析今天在写一个Python与html5 Websocket 实例,么次终止运行重新运行脚本总是提示地址已经存在并且被使用!查询相关文档才知道在socket编程中,当通过客户端向服务器端发送消息,关闭了连接后,这时如果马上再去运行服务器端程序,会提示这个错误:复制代码 代码如下:socket.error: [Errno 98] Address already in use这是因为在TCP/...

weixin_39966465的博客 800

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

这里有最完美的解决socket.error: [Errno 98] Address already in use问题

一、基本设置如果python中socket 绑定的地址正在使用,往往会出现错误,在linux下:            则会显示“ socket.error: [Errno 98] Address already in use”在windows下:          则会显示 “socket.error: [Errno 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次”这是因...

TheSamaritan-City 1万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

socket.error: [Errno 98] Address already in use的解决方法

调用setsockopt()函数设置SO_REUSEADDR选项为1,表示允许地址复用。使用setsockopt()函数让Socket允许地址复用。设置SO_REUSEADDR选项,这样就可以实现地址复用。

m0_61934621的博客 6899

socket.error: [Errno 98] Address already in use的解决方案

参考python官网手册: Running an example several times with too small delay between executions, could lead to this error: socket.error: [Errno 98] Address already in use This is because the previous execution has left the socket in a TIME_WAIT state, and can’t be

ShineRoyal 1053

关于Python tcp通讯中端口复用的解决 [Errno 98] Address already in use

错误代码如下: tcpClient_socket.bind(locall_addr) OSError: [Errno 98] Address already in use 出现这种错误的原因是: 这是因为在TCP/IP终止连接的四次握手中,当最后的ACK回复发出后,有个2MSL的时间等待,MSL指一个片段在网络中最大的存活时间,这个时间一般是30秒,所以基本上过60秒后就可以重新连接! ...

FreeSpider 2664

Python socket.error: [Errno 98] Address already in use

今天在写一个Python与html5 Websocket 实例,么次终止运行重新运行脚本总是提示地址已经存在并且被使用!查询相关文档才知道在socket编程中,当通过客户端向服务器端发送消息,关闭了连接后,这时如果马上再去运行服务器端程序,会提示这个错误: socket.error: [Errno 98] Address already in use 这是因为在TCP/IP终止连接的四次握

simonGeek的专栏 2595

使用flask时报错 [Errno 98] Address already in use

python 启动服务时,报错: OSError: [Errno 98] Address already in use 原因: 上次结束服务时,使用control+z,并没有真正结束进程。(control+c 能够结束进程) 解决: 查看本机5000端口 进程 (base) [atom_guoyanan@kdd7216 灵工]$ netstat -tlnp|grep 5000 # 返回 (N...

明顯有閒 2778
上一篇: 使用SDWebImage和YYImage下载高分辨率图,导致内存暴增的解决办法
下一篇: gcdasyncsocket address already in use
args_
博客等级 码龄11年 13粉丝 55原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值