python socket.error: [Errno 48] Address already in use
来源:互联网 发布:set java输出 编辑:程序博客网 时间:2024/05/02 23:10
简单实例
服务端
我们使用 socket 模块的 socket 函数来创建一个 socket 对象。socket 对象可以通过调用其他函数来设置一个 socket 服务。
现在我们可以通过调用 bind(hostname, port) 函数来指定服务的 port(端口)。
接着,我们调用 socket 对象的 accept 方法。该方法等待客户端的连接,并返回 connection 对象,表示已连接到客户端。
完整代码如下:
#!/usr/bin/python# -*- coding: UTF-8 -*-# 文件名:server.pyimport 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.pyimport 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
0 0
- python socket.error: [Errno 48] Address already in use
- python socket.error: [Errno 48] Address already in use
- Python socket.error: [Errno 98] Address already in use
- socket.error: [Errno 48] Address already in use
- 解决socket.error: [Errno 98] Address already in use问题
- 解决socket.error: [Errno 98] Address already in use问题
- socket.error: [Errno 98] Address already in use
- 解决socket.error: [Errno 98] Address already in use问题
- socket.error: [Errno 98] Address already in use解决方案
- Python Socket 编程,OSError: [Errno 98] Address already in use
- python启动失败 error: [Errno 98] Address already in use
- MAC OS X中解决SOCKET.ERROR: [ERRNO 48] ADDRESS ALREADY IN USE 端口占用问题
- GAE发生在OS X上socket.error: [Errno 48] Address already in use 问题的解决方法
- Mac OS X中解决socket.error: [Errno 48] Address already in use 端口占用问题(转)
- linux下如何解决socket的error: [Errno 98] Address already in use
- python socket提示Address already in use
- Python: socket,address already in use处理
- 【ubuntu】error: [Errno 98] Address already in use
- 深度优先搜索与广度优先搜索
- 第25周-window程序设计(基础篇)-第4章-SYSMETS.C窗口消息处理程序
- Ubuntu 14.04 Wine的安裝
- Android布局(3)--帧布局(FrameLayout)
- 自己实现一个Native方法的调用
- python socket.error: [Errno 48] Address already in use
- MongoDB基本用法(增删改高级查询、mapreduce)
- Public\Protected\Private
- fastjson String转Json
- Python异常处理
- error: /usr/bin/codesign --force --preserve-metadata=identifier,entitlements,resource-rules --sign
- 【bzoj1015】[JSOI2008]星球大战starwar
- HDU 5113 Black And White(搜索剪枝)
- System.load(String filename)和System.loadLibrary(String libname)的区别