一個LOOP 做 TCP/IP 收資料
另一個
=========================================
import threading,time
import socket
global G_Data
def main():
added_thread = threading.Thread(target = tcp_job,)
added_thread.start()
while True:
time.sleep(0.1)
global G_Data
if G_Data == "a":
print("a")
G_Data = ""
elif G_Data == "b":
print("b")
G_Data = ""
elif G_Data == "c":
print("c")
G_Data = ""
break
time.sleep(2)
print("All Finish") # If main is finished, thread is same
def tcp_job():
global G_Data
print("Start")
address = ('127.0.0.1', 21)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # s = socket.socket()
s.bind(address)
s.listen(1)
connection, addr = s.accept()
while True:
#print ('got connected from',addr)
time.sleep(1.5)
Data=connection.recv(10)
G_Data = Data.decode()
G_Data = G_Data[0:len(G_Data)-2] # No \r\n
print("TCP_G_Data=",G_Data)
print("Data=",Data)
if Data == b"close\r\n": # 客戶端要停止...
break
elif not Data: # 如果客戶端斷線...
break
s.close()
if __name__ == '__main__':
main() # 從MAIN開始
=======================================
留言列表