python socket监听端口_Python 通过监听端口实现唯一脚本运行方式

我就废话不多说了,大家还是直接看代码吧

try:

s = socket.socket()

s.bind(('127.0.0.1', port))

except:

log.info(' * already has an instance, so exit.')

exit(0)

补充知识:Python:一个简单的tornado程序:监听服务器端口,访问时给浏览器返回一个字符串

一个简单的tornado程序

tornado是python里的一个模块,它是一种web服务器软件的开源版本

它作为web服务器,具有较出色的抗负载能力,它适用于用户量大,高并发,或者大量的HTTP持久连接的情况。

我们来看一段简单的程序代码

import tornado.web

import tornado.ioloop

class IndexHander(tornado.web.RequestHander):

def get(self):

self.write("hello world! My name is alien!")

if __name__ = "__main__":

app = tornado.web.Application([

(r"/", IndexHander)

])

app.listen(8000)

tornado.ioloop.IOLoop.current().start()

当我们运行这段程序时,在浏览器上输入ip+我们监

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个使用 Python 语言的例子,用于在本地监听指定端口的连接请求: ```python import socket import threading # 服务器地址 HOST = '127.0.0.1' # 监听端口号 PORT = 8888 def handle_client(client_socket): ''' 处理客户端连接请求的线程函数 ''' # 接收客户端发来的数据 request_data = client_socket.recv(1024) print('Received:', request_data.decode()) # 发送响应数据给客户端 response_data = 'Hello, Client!' client_socket.send(response_data.encode()) # 关闭连接 client_socket.close() def start_server(): ''' 启动服务器 ''' # 创建一个 TCP 套接字对象 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定地址和端口号 server_socket.bind((HOST, PORT)) # 监听端口,等待连接请求 server_socket.listen(5) print('Server started on port', PORT) while True: # 接收客户端连接请求 client_socket, client_address = server_socket.accept() print('Accepted connection from', client_address) # 创建一个线程来处理客户端连接请求 client_thread = threading.Thread(target=handle_client, args=(client_socket,)) client_thread.start() if __name__ == '__main__': start_server() ``` 这个例子中,我们首先创建了一个 TCP 套接字对象,并绑定了地址和端口号。然后使用 `listen()` 方法开始监听端口,并在一个循环中等待客户端连接请求。当有客户端连接请求时,我们创建一个新的线程来处理该请求,并在其中执行 `handle_client()` 函数。在这个函数中,我们可以处理客户端发送的数据,并向客户端发送响应数据。最后,我们关闭连接,结束线程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值