利用socket编写简单的服务器
步骤解析
建立socket对象
这一步跟我们上次使用socket做客户端是一样的,都需要有一个socket连接
复制代码
1s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
设置socket选项(setsockopt)
选项介绍
setsockopt(set socket option),参数设置格式:setsockopt(level,optname,value)
各选项的关系:
1.level:level的设定决定了optname可以使用的选项
2.optname:由level决定
3.value:由level和optname决定
选项
level:SOL_SOCKET
level为SOL_SOCKET的时候,optname可以使用的常用选项有:
绑定地址和端口号(绑定socket)
作为服务器,如果提供访问的话,必须要有一个IP地址和端口号供客户端访问。
复制代码
1
2# 绑定地址为192.168.128.128 端口号为 12345 s.bind(('192.168.128.128',12345))
侦听连接(listen)
侦听绑定好的IP:PORT
复制代码
1
2# 5 代表着允许5个连接在队列中等待。 s.listen(5)
接受连接(accept)
接受客户端连接
实例
脚本编写
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27[root@arppinging network]# cat socket_server.py #!/usr/bin/env python # 导入socket模块 import socket # 配置host和port host = '192.168.128.128' port = 1234 # 新建一个socket连接 s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 设置socket参数 s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) # 绑定IP和端口 s.bind((host,port)) # 监听 s.listen(5) # 用while循环一直接受连接,如果不配置while循环,程序执行一次就退出了 while 1: # 接受连接,并把客户端的连接信息赋值给clientsock,和clientaddr clientsock,clientaddr = s.accept() # 打印客户端的信息 print "Got connection from",clientsock.getpeername() # 关闭连接 clientsock.close [root@arppinging network]#
运行程序
复制代码
1[root@arppinging network]# python socket_server.py
查看监听端口
复制代码
1
2
3
4
5[root@arppinging ~]# netstat -ant | grep 1234 tcp 0 0 192.168.128.128:1234 0.0.0.0:* LISTEN tcp 0 0 192.168.128.128:1234 192.168.128.128:33232 TIME_WAIT [root@arppinging ~]#
客户端连接
复制代码
1telnet 192.168.128.128 1234
查看服务器端反应
复制代码
1
2[root@arppinging network]# python socket_server.py Got connection from ('192.168.128.1', 2839)
最后
以上就是眯眯眼泥猴桃最近收集整理的关于[python网络编程]利用socket编写简单的服务器利用socket编写简单的服务器的全部内容,更多相关[python网络编程]利用socket编写简单内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复