User Tools

Site Tools


code:python:simplesocketcode

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
code:python:simplesocketcode [2010/04/03 20:55] – created percycode:python:simplesocketcode [2016/05/05 13:07] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== 简单的socket代码(包含server,client) ======
 +python socket最简单的代码,包含server,client两部分
 +
 +====== server.py ======
 +  pjq@gentoo-pjq ~/workspace/pythonserver $ cat server.py
 +<file python server.py>
 +
 +#!/usr/bin/python
 +
 +import socket
 +
 +sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
 +
 +sock.bind(('localhost',8001))
 +
 +sock.listen(5)
 +
 +while True:
 +  print 'sock.accept'
 +  connection,address = sock.accept()
 +  try:
 +    connection.settimeout(5)
 +    buf=connection.recv(1024)
 +    if buf =='1':
 +      print 'Welcome to server'
 +      connection.send('Welcome to server'
 +    else:
 +      print 'please go out'
 +      connection.send('please go out!'
 +  except socket.timeout:
 +    print 'time out'
 +  print 'connection.close'
 +  connection.close()
 +</file>
 +
 +====== client.py ======
 +  pjq@gentoo-pjq ~/workspace/pythonserver $ cat client.py
 +<file python client.py>
 +#!/usr/bin/python
 +
 +import socket 
 +import time
 +
 +print 'Create socket'
 +sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
 +
 +
 +print 'Connect to server'
 +sock.connect(('localhost',8001))
 +time.sleep(2)
 +
 +print 'Send:1'
 +sock.send('1')
 +
 +print 'Recv:'
 +print sock.recv(1024)
 +
 +print 'Close socket'
 +sock.close()
 +
 +</file>
 +
 +