Python 下socket编程地址被占用问题:Address already in use

当我们开始学socket编程时,在ctrl+c结束服务器端程序后,再次启动运行程序会出现Address already in use这个错误,过几分钟运行或重启后运行又好了,那是因为操作系统会在服务器socket被关闭或服务器进程终止后会将该端口保留几分钟,而要解决该问题,可以在socket定义之后加上下面这句话:

 

s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)

 

这里s为定义的socket,这样操作系统会在服务器socket被关闭或服务器进程终止后马上释放该服务器的端口,下次运行就不会出现上述问题啦。

详细的setsockopt函数讲解可参见:

http://www.cnblogs.com/xiaowuyi/archive/2012/08/06/2625509.html

你可能感兴趣的:(python学习笔记)