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'
转载于:https://blog.51cto.com/zidingyi/1885028