server-python中socket的端口重用。网上的解决方法不行!

问题描述

python中socket的端口重用。网上的解决方法不行!
server = socket(AF_INET, SOCK_STREAM)
print 'server is ok!'
server.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
print 'setsockopt is ok!'
server.bind(add)
print 'bind is ok!'
server.listen(10)
print 'listen is ok!'

还是会报错。
socket.error: [Errno 98] Address already in use

解决方案

参考这个试试

 import socket
import SimpleHTTPServer
import SocketServer
# import os # uncomment if you want to change directories within the program

PORT = 8000

# Absolutely essential!  This ensures that socket resuse is setup BEFORE
# it is bound.  Will avoid the TIME_WAIT issue

class MyTCPServer(SocketServer.TCPServer):
    def server_bind(self):
        self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        self.socket.bind(self.server_address)

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler

httpd = MyTCPServer(("", PORT), Handler)

# os.chdir("/My/Webpages/Live/here.html")

httpd.serve_forever()

解决方案二:

看一下这个:
http://stackoverflow.com/questions/14388706/socket-options-so-reuseaddr-and-so-reuseport-how-do-they-differ-do-they-mean-t

时间: 2024-09-10 13:15:31

server-python中socket的端口重用。网上的解决方法不行!的相关文章

用Python中的字典来处理索引统计的方法

  这篇文章主要介绍了用Python中的字典来处理索引统计的方法,字典的使用是Python学习当中的基础知识,本文则是相关的一个小实践,需要的朋友可以参考下 最近折腾索引引擎以及数据统计方面的工作比较多, 与 Python 字典频繁打交道, 至此整理一份此方面 API 的用法与坑法备案. 索引引擎的基本工作原理便是倒排索引, 即将一个文档所包含的文字反过来映射至文档; 这方面算法并没有太多花样可言, 为了增加效率, 索引数据尽可往内存里面搬, 此法可效王献之习书法之势, 只要把十八台机器内存全部

在Python中使用glob模块查找文件路径的方法

  这篇文章主要介绍了在Python中使用glob模块查找文件路径的方法,使用模块其中的iglob方法实现起来非常简单,需要的朋友可以参考下 glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用windows下的文件搜索差不多.查找文件只用到三个匹配符:"*", "?", "[]"."*"匹配0个或多个字符;"?"匹配单个字符;"[]"匹配指定范围内的

Python中每次处理一个字符的5种方法

  这篇文章主要介绍了Python中每次处理一个字符的5种方法,即把字符串分割成字符数组或把字符串切割成单独字符的方法,需要的朋友可以参考下 目的 对字符串的每个字符进行处理,其实每个字符(Char)就是一个长度为1的字符串. 方法 1.使用内建函数list() 代码如下: >>> A_string='Python' >>> char_list=list(A_string) >>> char_list ['P', 'y', 't', 'h', 'o',

Python中用于检查英文字母大写的isupper()方法

  这篇文章主要介绍了Python中用于检查英文字母大写的isupper()方法,是Python入门中的基础知识,需要的朋友可以参考下 isupper()方法检查字符串的所有基于大小写的字符(字母)是否是大写. 语法 以下是isupper()方法的语法: ? 1 str.isupper() 参数 NA 返回值 如果字符串中的所有字符是大写字母并且至少有一个可大小写字符此方法返回true,否则返回false. 例子 下面的例子显示了isupper()方法的使用. ? 1 2 3 4 5 6 7 #

Python中用于转换字母为小写的lower()方法使用简介

  这篇文章主要介绍了Python中用于转换字母为小写的lower()方法使用,是Python学习中的基础知识,需要的朋友可以参考下 lower()方法返回所有基于大小写的字符被转换为小写字符串的一个副本. 语法 以下是lower()方法的语法: ? 1 str.lower() 参数 NA 返回值 此方法返回的所有基于大小写字符被转化为小写字符串的一个副本. 例子 下面的例子显示了lower()方法的使用. ? 1 2 3 4 5 #!/usr/bin/python   str = "THIS

python中json格式数据输出的简单实现方法_python

主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info["code"]=1 info["id"]=1900 info["name"]='张三' info["sex"]='男' list=[info,info,info] data={} data["code"]=1 data["id"]=190

Python中使用django form表单验证的方法

一. django form表单验证引入 有时时候我们需要使用get,post,put等方式在前台HTML页面提交一些数据到后台处理例 ; <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Form</title> </head> <body> <div> <for

eclipse-python已安装了一个包,但是导入包中的模块时报错,求解决方法

问题描述 python已安装了一个包,但是导入包中的模块时报错,求解决方法 我用的是eclipse with pydev,用pip安装了impacket,编译一些impacket的例子时报错,如下图: 但是我是安装了的,在anaconda的lib的sit-packges的impacket下,是有模块ImpackPacket的,如下图: 在ecplipse中能查看模块ImpackPacket的源码的: 就是编译时报错,求解决方法 解决方案 你的编辑器环境是否能找到自己安装的包的路径.是否配置好

jquery ui中 accordion的问题及我的解决方法

原文:jquery ui中 accordion的问题及我的解决方法 jquery有一套所谓的ui组件,很不错的.如果有兴趣的朋友,可以参考http://jqueryui.com/ 但其中的accordion,我使用的时候发现一些问题.如果按照demo那样,写一些静态内容,倒也正常.但如果每个面板里面的内容是动态绑定的,则会发生高度变小,然后出现滚动条的诡异现象   <%@ Page Language="C#" %> <%@ Import Namespace="