1 Star 0 Fork 0

lutt / cliserver

Gitee —— 企业级 DevOps 研发管理平台
加入 Gitee
克隆/下载
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

cliserver

简介

cliserver可通过网络套接字提供命令行服务。使用者可将命令行和执行接口函数注册至cliserver,客户端与cliserver建立连接后可发送命令并由cliserver执行。

使用

1.创建服务

create_server(address, family, type)

  • address: (ip地址,端口) 或 unix套接字文件路径
  • family: 同socket的family
  • type: 同socket的type

2.注册命令

cmd_register(cmd_func)

  • cmd_func: 命令行的执行函数,函数的__doc__属性用于描述命令

3.事件调度

dispatcher()

  • epoll事件监听调度函数

示例程序如下:

  • 服务端
import os
import socket
import logging
import cliserver


def cmd_show_version(self, *argv):
    '''show version'''
    self.cmd_output('1.0')


def cmd_set_test_data(self, *argv):
    '''set test ( val1 | val2 ) Data '''
    self.cmd_output(' '.join(argv))


if __name__ == '__main__':
    if os.path.exists('usock'):
        os.unlink('usock')
    logging.basicConfig(level=logging.DEBUG, format='%(name)s %(funcName)s -> %(message)s')
    # server = CliServer(('127.0.0.1', 8888), socket.AF_INET, socket.SOCK_STREAM)
    cliserver.create_server('usock', socket.AF_UNIX, socket.SOCK_STREAM)
    cliserver.cmd_register(cmd_show_version)
    cliserver.cmd_register(cmd_set_test_data)
    cliserver.dispatcher()
  • 客户端
#! /bin/bash

stty -isig -echo -icanon
nc -U usock
stty isig echo icanon

点评 ( 0 )

你可以在登录后,发表评论

简介

简单交互式命令服务端 展开 收起
Python
GPL-3.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/taotao.lu/cliserver.git
git@gitee.com:taotao.lu/cliserver.git
taotao.lu
cliserver
cliserver
master

搜索帮助