server端:
1.生成socket:socket(family,type)//family=socket.AF_INET or socket.AF_UNIX;;type=socket.SOCK_STREAM or socket.SOCK_DGRAM
2.绑定地址端口:bind((add,port))//eg.s.bind(('localhost,9090'))
3.监听:listen(backlog)//backlog指的是最大客户端连接数
4.接受链接:soc,add=accept()//注意,返回的那个soc用来处理数据,包括接受和发送
5.处理数据:1.接受data=soc.recv(len).decode()//len代表接受字符数;2.发送soc.send('xxx'.encode())
6.关闭:close()
client端:
1.生成socket:同server
2.连接:connect((add,port))//eg.s.connect(('localhost',9090))
3.处理数据:1.发送s.send('xxx'.encode);;2.接受s.recv(len).decode()
4.关闭:close()
一个实际的例子:
server:
import sys
import socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(('localhost',8001))
s.listen(5)
i=0
while 1:
con,add=s.accept()
i=i+1
data=con.recv(1024).decode()
print('I am connected by NO.',i)
print('%s:%s'%(add,data))
con.send('Hello, Baby!^_^'.encode())
s.close()
client::
import sys
import socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(('localhost',8001))
while 1:
s.send('Hello,Server!'.encode())
print('Hello,Server!')
s.close()