python使用xinetd时遇到的问题
来源:互联网 发布:sql漏洞扫描工具 编辑:程序博客网 时间:2024/05/22 00:53
PYTHON网络编程基础P51 3.5.5
问题1:
将/etc/xinetd.conf按教程设置好后,telnet localhost 51423提示telnet: connect to address 127.0.0.1: Connection refused,发现xinetd并没有监听51423端口
解决方法:
xinetd设置中service指定的py文件必须具有执行权限,加上执行权限后重启xinetd即可正常运行
问题2:
通过inetd使用UDP的例子测试不成功,重启xinetd后确实在监听51424端口,但运行udp.py发现没有输出服务器返回的数据,客户端发出数据后会使xinetd不再监听51424端口。
服务器源代码如下:
#!/usr/bin/env pythonimport socket,time,syss = socket.fromfd(sys.stdin.fileno(),socket.AF_INET,socket.SOCK_DGRAM)message, address = s.recvfrom(8192)s.connect(address)print "test"for i in range(10): s.send("Reply %d: %s" % (i+1,message)) time.sleep(2)s.send("OK, I'm done sending replies.\n")
xinetd配置:
service pythonnowaitexample{ flags = NAMEINARGS type = UNLISTED port = 51424 socket_type = dgram protocol = udp wait = no user = root server = /root/python/inetdudpserver.py server_args = /root/python/inetdudpserver.py }
客户端udp.py源码:
#!/usr/bin/env pythonimport socket,syshost = sys.argv[1]textport = sys.argv[2]s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)try: port = int(textport)except ValueError: port = socket.getservbyname(textport,'udp')s.connect((host,port))print "Enter data to transmit: "data = sys.stdin.readline().strip()s.sendall(data)print "Looking for replies; press Ctrl-C or Ctrl-Break to stop."while 1: buf = s.recv(20) if not buf: break sys.stdout.write(buf) sys.stdout.flush() print buf
解决方法:
未解决。什么情况下会使xinetd停止监听某个端口?
问题3:
用udp.py测试inetdwaitserver.py仍然不成功,客户端发送数据后没有显示返回的数据,检查/var/log/messages日志记录为:
Jan 23 20:10:20 master xinetd[5421]: START: pythonnowaitexample pid=5450 from=::ffff:192.168.213.129Jan 23 20:10:20 master python: abrt: detected unhandled Python exception in /root/python/inetdwaitserver.pyJan 23 20:10:20 master xinetd[5421]: EXIT: pythonnowaitexample status=0 pid=5450 duration=0(sec)Jan 23 20:10:20 master abrtd: dumpsocket: New client connectedJan 23 20:10:20 master abrtd: dumpsocket: Saved Python crash dump of pid 5451 to /var/spool/abrt/pyhook-1422072620-5451Jan 23 20:10:20 master abrtd: Directory 'pyhook-1422072620-5451' creation detectedJan 23 20:10:20 master abrtd: Executable '/root/python/inetdwaitserver.py' doesn't belong to any packageJan 23 20:10:20 master abrtd: Corrupted or bad crash /var/spool/abrt/pyhook-1422072620-5451 (res:4), deletingJan 23 20:10:20 master abrtd: dumpsocket: Socket client disconnected
netdwaitserver.py源码如下:
#!/usr/bin/env pythonimport socket,time,sys,oss = socket.fromfd(sys.stdin.fileno(),socket.AF_INET,socket.SOCK_DGRAM)message,address = s.recvfrom(8192)localaddr = s.getsockname()s.close()pid = os.fork()if pid: sys.exit(0)s2 = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)s2.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)s2.bind(localaddr)s2.connect(address)for i in range(10): s2.send("Reply %d: %s" % (i+1,message)) time.sleep(2)s2.send("OK, I'm done sending replies.\n")
xinetd配置:
[root@master python]# cat /etc/xinetd.d/pythonnowaitexample service pythonnowaitexample{ flags = NAMEINARGS type = UNLISTED port = 51424 socket_type = dgram protocol = udp wait = yes user = root server = /root/python/inetdwaitserver.py server_args = /root/python/inetdwaitserver.py }
0 0
- python使用xinetd时遇到的问题
- python 使用 pip时遇到的问题
- python使用遇到的问题
- xinetd的使用
- 使用python的request.post时遇到的问题
- /etc/xinetd.d 的使用
- 使用python写程序时遇到的几个小问题
- 使用python执行复制时遇到的一点问题
- python使用flask-migrate迁移数据库时遇到的问题
- [python]使用channels库时遇到的一些问题
- 使用python访问网站遇到的问题
- 使用python-cassandra遇到的一个问题
- python使用中遇到的问题记录
- 使用xinetd
- 使用xinetd
- 使用xinetd
- python遇到的问题
- python遇到的问题
- Web开发者和设计师必须要知道的 iOS 8 十个变化
- ubuntu下使用百度云盘
- 关于errno与perror,strerror函数
- taobao mvc
- 新一代-亚马逊自动恢复EC2系统
- python使用xinetd时遇到的问题
- 戴眼镜最近眼睛很累,感觉有压力一样,眼压过大;摘掉眼镜后,感觉又好一些,求专业人士原因?
- 文件的写入与删除
- 搜索博客技巧
- Eclipse中10个最有用的快捷键组合
- UITableView上拉下拉刷新
- Clone Graph --- LeetCode
- userInteractionEnabled交互性
- 本人C#和PHP做了几个网站