- 论坛徽章:
- 0
|
本帖最后由 enmingma 于 2011-11-19 19:22 编辑
我接触python不久,现在用socket想做一个简单的网络程序,实现server和client之间的通信,连接后,client向server发送消息,server返回相应的信息,我的代码入下
server.py- #!/usr/bin/env python
- #server.py
- if __name__ == "__main__":
- import socket
- s = socket.socket()
-
- address=('localhost',12345)
- s.bind(address)
-
- s.listen(5)
-
- while True:
- c, addr = s.accept()
- print 'Got connection from',addr
- c.send('thank you for connection')
- word=c.recv(1025)
- c.send(word+' too')
- c.close()
复制代码 client.py:- #!/usr/bin/env python
- #client.py
- if __name__ == "__main__":
- import socket
-
- s = socket.socket()
- address=('127.0.0.1',12345)
-
- s.connect(address)
- print s.recv(1024)
- while(True):
- word=raw_input('>')
- if not word:
- continue
- else:
- s.send(word)
- print s.recv(1027)
- s.close()
复制代码 我现在的情况是,client第一次发送消息,服务器可以正常返回,第二次发送消息,client就报错退出了,报错如下:
Traceback (most recent call last):
File "./client.py", line 17, in <module>
s.send(word)
File "/usr/local/lib/python2.6/socket.py", line 165, in _dummy
raise error(EBADF, 'Bad file descriptor')
socket.error: [Errno 9] Bad file descriptor
希望大家给个指点,提示一下也行啊,谢谢了 |
|