客户端代码:
#__author__ = 'lenovo' from socket import * Host = 'localhost' Port = 2157 BUFSIZE=1024 ADDR = (Host, Port) tcpClient = socket(AF_INET, SOCK_STREAM) tcpClient.connect(ADDR)#客户端程序里不需要进行相关的地址绑定,只要连接到相关的地址即可 while True: data = input('>') if not data: break tcpClient.send(data.encode(encoding='utf_8'))#需要将string类型的字符串转化为二进制,需要进行二进制编码操作 data = tcpClient.recv(BUFSIZE) if not data: break print(data) tcpClient.close()服务器端代码:
#__author__ = 'lenovo' from socket import * from time import ctime Host = 'localhost' Port = 2157 BUFSIZE=1024 ADDR = (Host, Port) serverSocket = socket(AF_INET, SOCK_STREAM) serverSocket.bind(ADDR) serverSocket.listen(5) while True: print('wating for connection....') tcpClient,addr = serverSocket.accept()#accept函数返回一个pair,其中第一个返回值为sokcet链接,第二个返回值微客户端的address print('.....connect from') while True: data = tcpClient.recv(BUFSIZE) if not data: print('not data') tcpClient.send(('[%s] %s' % (ctime(), data)).encode(encoding='utf_8')) tcpClient.close() serverSocket.close()