socket 网络编程的服务端:
1) 创建socket 套接字。
2) 和socket绑定主机地址和端口
3) socket 主动监听端口,看又没有来连接。
4) 当执行到 accept() 时, 被动地等待连接来到。 阻塞。 当连接来到时, 调用, 返回与客户端通信的socket,和客户的addr : ip + 新的通信端口。
5) resv() ,, send()
from socket import *
from time import ctime HOST='127.0.0.1'
PORT =
BUFSIZE=
ADDR = (HOST,PORT) tcpSerSock = socket(AF_INET, SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen() while True:
print 'waiting for connection...'
tcpCliSock, addr = tcpSerSock.accept() print '...connection from:', addr while True:
data = tcpCliSock.recv(BUFSIZE)
print data
if not data:
break
tcpCliSock.send('[%s] %s' %(ctime(), data))
if data == None:
tcpCliSock.close() tcpSerSock.close()
socket 客户端编程:
1) 创建客户端的socket
2) 调用 connet( addr ) 连接 服务器addr
3) 数据的发送和接受。
from socket import *
from time import ctime HOST='127.0.0.1'
PORT =
BUFSIZE=
ADDR = (HOST,PORT) tcpSerSock = socket(AF_INET, SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen() while True:
print 'waiting for connection...'
tcpCliSock, addr = tcpSerSock.accept() print '...connection from:', addr while True:
data = tcpCliSock.recv(BUFSIZE)
print data
if not data:
break
tcpCliSock.send('[%s] %s' %(ctime(), data))
if data == None:
tcpCliSock.close() tcpSerSock.close()