请教python socket通信问题
最近学习scoket通信,一个客户端,一个服务器,服务器开启一个socket通信一直监听,客户端给服务器发消息。消息的接受都是正常的。中断服务器后(杀掉python.exe进程,有时是键盘中断事件),服务器端关闭后,z 再启动服务器就报error ,套接字/端口异常,起不来了,有时关掉python.exe进程能够重新起来,不过有时终止后没有python进程。
在网上搜了下说是端口占用,我用netstat -ano查看了端口所在的进程号,在进程管理器中没有对应的进程ID,只能换端口,但是异常终止后还需要继续换端口,很麻烦,我在py文件末尾都加上了关闭socket.close(),请教高手有什么好的解决办法.
[解决办法]
if __name__=='__main__':
try:
main() # 开始做事
except KeybordInterrupt as e:
socket.close()
import socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)