• 大小: 30.87MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-03
  • 语言: 其他
  • 标签: Git  32bit  Windows  

资源简介

便携版。非安装版。 32位Windows版Git便携版PortableGit-2.11.0-32-bit.7z.exe

资源截图

代码片段和文件信息

#!/usr/bin/python
#
# Server that will accept connections from a Vim channel.
# Run this server and then in Vim you can open the channel:
#  :let handle = ch_open(‘localhost:8765‘)
#
# Then Vim can send requests to the server:
#  :let response = ch_sendexpr(handle ‘hello!‘)
#
# And you can control Vim by typing a JSON message here e.g.:
#   [“ex““echo ‘hi there‘“]
#
# There is no prompt just type a line and press Enter.
# To exit cleanly type “quit“.
#
# See “:help channel-demo“ in Vim.
#
# This requires Python 2.6 or later.

from __future__ import print_function
import json
import socket
import sys
import threading

try:
    # Python 3
    import socketserver
except ImportError:
    # Python 2
    import SocketServer as socketserver

thesocket = None

class ThreadedTCPRequestHandler(socketserver.baseRequestHandler):

    def handle(self):
        print(“=== socket opened ===“)
        global thesocket
        thesocket = self.request
        while True:
            try:
                data = self.request.recv(4096).decode(‘utf-8‘)
            except socket.error:
                print(“=== socket error ===“)
                break
            except IOError:
                print(“=== socket closed ===“)
                break
            if data == ‘‘:
                print(“=== socket closed ===“)
                break
            print(“received: {0}“.format(data))
            try:
                decoded = json.loads(data)
            except ValueError:
                print(“json decoding failed“)
                decoded = [-1 ‘‘]

            # Send a response if the sequence number is positive.
            # Negative numbers are used for “eval“ responses.
            if decoded[0] >= 0:
                if decoded[1] == ‘hello!‘:
                    response = “got it“
                else:
                    response = “what?“
                encoded = json.dumps([decoded[0] response])
                print(“sending {0}“.format(encoded))
                self.request.sendall(encoded.encode(‘utf-8‘))
        thesocket = None

class ThreadedTCPServer(socketserver.ThreadingMixIn socketserver.TCPServer):
    pass

if __name__ == “__main__“:
    HOST PORT = “localhost“ 8765

    server = ThreadedTCPServer((HOST PORT) ThreadedTCPRequestHandler)
    ip port = server.server_address

    # Start a thread with the server -- that thread will then start one
    # more thread for each request
    server_thread = threading.Thread(target=server.serve_forever)

    # Exit the server thread when the main thread terminates
    server_thread.daemon = True
    server_thread.start()
    print(“Server loop running in thread: “ server_thread.name)

    print(“Listening on port {0}“.format(PORT))
    while True:
        typed = sys.stdin.readline()
        if “quit“ in typed:
            print(“Goodbye!“)
            break
        if thesocket is None:
            print(“No socket yet“)
        else:
            print(“sending {0}“.format(type

评论

共有 条评论