将客户端分为APP和设备两种,自己用Python socket写服务端,怎么实现设备通过服务端的转发向APP发送数据的情况
不知道你这个问题是否已经解决, 如果还没有解决的话:#!/usr/bin/python
# -*- coding: UTF-8 -*-
# !/usr/bin/env python
# coding=utf-8
# filename:test_tcp_server.py
# creator: tomcat
# date: 2021-11-16
from socket import *
from time import ctime
from datetime import datetime
import threading
IP = gethostbyname(gethostname())
print("本机IP: ", IP)
ADDR = (IP, 12345)
BUFSIZ = 1024
s = socket(AF_INET, SOCK_STREAM)
s.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
s.bind(ADDR)
s.listen(5) # 最大连接数
socks = [] # 放每个客户端的socket
def connect_handle(c, addr):
while True:
recvdata = c.recv(BUFSIZ)
if recvdata == 'exit' or not recvdata:
break
st = datetime.now().strftime('%H:%M:%S')
print(" recv: %s, %s, %s" % (c.getpeername(), st, recvdata))
msg = str(recvdata) + ' from python sever.'
c.send(msg.encode())
c.close()
while True:
c, c_addr = s.accept()
print(' connect from:', c_addr)
t = threading.Thread(target=connect_handle, args=(c, c_addr))
t.start()
s.close()