Posted on 2009-09-15 21:35
silentneil 閱讀(297)
評(píng)論(0) 編輯 收藏 引用 所屬分類(lèi):
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個(gè)客戶連接到服務(wù)器,值至少為1
while True:
# connection是一個(gè)新的socket對(duì)象,服務(wù)端通過(guò)它與客戶端通信
# address是客戶端的internet地址
connection, address = sock.accept() #等待(waiting)狀態(tài)
print 'connected from ', address
try:
connection.settimeout(5) #設(shè)置超時(shí)時(shí)間
# recv時(shí)為阻塞(blocked)狀態(tài)
buf = connection.recv(1024) #接收的最大數(shù)據(jù)量為1024,如果超過(guò)則被截短
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