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.
本文出自 “自定义” 博客,谢绝转载!
原文:http://zidingyi.blog.51cto.com/10735263/1885028