利用sockect包,我们可以建立一个服务器,代码如下
1 #!/usr/bin/env python
2 # Simple Server
3
4 import socket
5 host=' ' #主机任意
6 port=51423 #端口我选择了51423
7
8 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #开启socket
9 s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
10 s.bind((host,port)) #主机与端口绑定
11 s.listen(1) #最大接受数,我设置为1
12
13 print "server is running on %d" %port
14 while 1:
15 clientsock,clientaddr=s.accept()
16 while 1:
17 clientfile=clientsock.makefile('rw',0)
18 clientfile.write("welcome,"+str(clientaddr)+"\n")
19 clientfile.write("please enter:")
20 line=clientfile.readline().strip()
21 if line=="quit":
22 clientfile.close()
23 clientsocket.close()
24
25 clientfile.write(" you entered %d characters.\n" %len(line))
26 clientfile.write(" what you entered is %s\n" %line)
27 print line
28
然后另开一个终端,用telnet连接
telnet localhost 51423
就出现了如下的效果,如果对方也开启这个服务,然后双方就可以利用终端通信了,这就相当于写了一个聊天程序!
我们看到我们并没有编写telnet协议,但是telnet客户端也能运行,就因为我们是进行底层的socket编程。