cat one.py #!/usr/bin/env python #-*- coding:utf-8 -*- import socket host = '' #主机设为空,程序就可以接收来自任何客户端的连接 port = 51423 #设置端口,选择一个任意大于1024的端口即可 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #创建socket对象, #s = socket.socket() 可以采用默认的对象 s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) #把socket设置成可复用的 s.bind((host, port)) #调用bind函数 s.listen(5) #调用listen函数,等待客户端连接,每一次最多只有一个等待处理的连接 while True: #主循环 clientsock, clientaddr = s.accept() #调用accept函数,返回两个值,一个新的连接客户端,另一个时客户端的ip的port clientfile = clientsock.makefile('rw', 0) #返回一个文件的类对象 clientfile.write("Welcome, " + str(clientaddr) + "\n") clientfile.write("Please enter a string: ") line = clientfile.readline().strip() clientfile.write("you entered %d characters. \n" % len(line)) #打印出你输入字符的长度 clientfile.close() #使用文件类对象的时候,必须关闭文件对象和socket对象。关闭socket对象很重要否则客户端不知道服务器通信已经结束,而在服务器上会堆积很多的连接。 clientsock.close()
然后再服务器端运行这个脚本文件:
[root@slave one]# python one.py & [1] 3273
然后再客户端利用telnet连接服务器:
[root@master socket]# telnet 192.168.1.121 51423 Trying 192.168.1.121... Connected to 192.168.1.121. Escape character is '^]'. Welcome, ('192.168.1.120', 40157) Please enter a string: hello //输入的时“Hello” you entered 5 characters. Connection closed by foreign host.
函数原型
声明:s为字符串,rm为要删除的字符序列
s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列的字符
s.lstrip(rm) 删除s字符串中开头处,位于 rm删除序列的字符
s.rstrip(rm) 删除s字符串中结尾处,位于 rm删除序列的字符
注意:
1. 当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' ')
In [18]: a = " 123" In [19]: a.strip() Out[19]: '123' In [20]: a.strip("1") Out[20]: ' 123' In [21]: a.strip("3") Out[21]: ' 12'