风雨兼程

ring my bells
posts - 49, comments - 14, trackbacks - 0, articles - 0

简单通信

Posted on 2009-09-15 21:35 silentneil 阅读(276) 评论(0)  编辑 收藏 引用 所属分类: Python
server.py

# -*- coding: cp936 -*-
import socket

if __name__ == '__main__':
    sock 
= socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.bind((
'192.168.1.106'8001))
    sock.listen(
5)      #最多允许5个客户连接到服务器,值至少为1
    while True:
        
# connection是一个新的socket对象,服务端通过它与客户端通信
        # address是客户端的internet地址
        connection, address = sock.accept()     #等待(waiting)状态
        print 'connected from ', address
        
try:
            connection.settimeout(
5)    #设置超时时间
            # recv时为阻塞(blocked)状态
            buf = connection.recv(1024#接收的最大数据量为1024,如果超过则被截短
            if buf == '1':
                connection.send(
'welcome to server!')
            
else:
                connection.send(
'please go out!')
        
except socket.timeout:
            
print 'time out'
        connection.close()


client.py

import socket, time

if __name__ == '__main__':
    sock 
= socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.connect((
'192.168.1.106'8001))
    time.sleep(
2)
    sock.send(
'1')
    
print sock.recv(1024)
    sock.close




只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理