首先以一个简单的hello/hi网络聊天程序作为示例,它使用了python提供的Socket API接口,程序的功能就是:客户端向服务器发送一条消息,服务器端返回一条消息给客户端
server.py
import socket host='127.0.0.1' port=1234 serv_sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM) serv_sock.bind((host,port)) serv_sock.listen(10) #接收客户端套接字 clnt_sock,addr=serv_sock.accept() msg=clnt_sock.recv(1024) str_msg=msg.decode("utf-8") #返回给客户端消息 r_msg="Hi,"+str_msg[10:] clnt_sock.send(r_msg.encode("utf-8")) #关闭连接 serv_sock.close() clnt_sock.close()
client.py
import socket host='127.0.0.1' port=1234 sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM) sock.connect((host,port)) #向服务器发送数据 msg=input("input:") sock.send(msg.encode("utf-8")) #接收服务器返回的消息 recive=sock.recv(1024) print(recive) sock.close()
在上述这个简单的聊天程序中,调用了python提供的下列网络函数
socket.
socket
(family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None)socket.
connect
(address),其中address是一个元组(socket.
bind
(address)socket.
listen
([backlog])socket.
accept
()