python 网络编程之socket
thinkyoung
2014-05-08
952浏览量
简介:
在python socket编程主要是面各tcp 和 udp编程。下面我们就用这两种不同的编程方式来实现一个从客服端发送信息到服务器端, 服务器端返回客服器现在时间和接收到的信息 我们先来实现tcp的编程 tcp 服务端代码(tsTserv.
在python socket编程主要是面各tcp 和 udp编程。下面我们就用这两种不同的编程方式来实现一个从客服端发送信息到服务器端, 服务器端返回客服器现在时间和接收到的信息 我们先来实现tcp的编程 tcp 服务端代码(tsTserv.py):
- '''''
- Created on 2010-12-13
- @author: Administrator
- '''
- from socket import *
- from time import ctime
- HOST=''
- PORT=21582
- BUFSIZ=1024
- ADDR=(HOST,PORT)
- tcpSerSock=socket(AF_INET,SOCK_STREAM)
- tcpSerSock.bind(ADDR)
- tcpSerSock.listen(5)
- while True:
- print 'waiting for connection...'
- tcpCliSock,addr=tcpSerSock.accept()
- print '...connected from:',addr
-
- while True:
- data=tcpCliSock.recv(BUFSIZ)
- if not data:
- break
- tcpCliSock.send('[%s] %s' %(ctime(),data))
- tcpSerSock.close()
- tcpCliSock.close()
-
tcp客服端代码(tsTclnt.py):
- '''''
- Created on 2010-12-13
- @author: Administrator
- '''
- from socket import *
- HOST='localhost'
- PORT=21582
- BUFSIZ=1024
- ADDR=(HOST,PORT)
- tcpCliSock=socket(AF_INET,SOCK_STREAM)
- tcpCliSock.connect(ADDR)
- while True:
- data=raw_input('>')
- if not data:
- break
- tcpCliSock.send(data)
- data=tcpCliSock.recv(BUFSIZ)
- if not data:
- break
- print data
- tcpCliSock.close()
ok 我们现在来看下效果图:

实现upd 编程 udp服务端代码(tsUserv.py):
- '''''
- Created on 2010-12-13
- @author: Administrator
- '''
- from socket import *
- from time import ctime
- HOST=''
- PORT=21590
- BUFSIZ=1024
- ADDR=(HOST,PORT)
- udpSerSock=socket(AF_INET,SOCK_DGRAM)
- udpSerSock.bind(ADDR)
- while True:
- print 'waiting for message...'
- data,addr=udpSerSock.recvfrom(BUFSIZ)
- udpSerSock.sendto('[%s] %s' %(ctime(),data),addr)
- print '...received from and returned to:',addr
- udpSerSock.close()
-
-
udp 客服端代码(tsUclnt.py):
- '''''
- Created on 2010-12-13
- @author: Administrator
- '''
- from socket import *
- from time import ctime
- HOST='localhost'
- PORT=21590
- BUFSIZ=1024
- ADDR=(HOST,PORT)
- udpCliSock=socket(AF_INET,SOCK_DGRAM)
- while True:
- data=raw_input('>')
- if not data:
- break
- print data
- udpCliSock.sendto(data,ADDR)
- data,ADDR=udpCliSock.recvfrom(BUFSIZ)
- if not data:
- break
- print data
- udpCliSock.close()
ok 完成,来看下效果图
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。