python_TCP_IP_realtime_graph - 8BitsCoding/RobotMentor GitHub Wiki
ํ๋ก์ ํธ ์ ๋ณด
- ์ ์์์์ผ : 19.09.22
- ์ ์์ข ๋ฃ์ผ : 19.09.22
- ์ธ์ด : Python3.7
- IDE : Pycharm2019.01.01(Community)
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ : PyQt5, matplotlib, drawnow, numpy, random
- GitHub ์ฃผ์ : https://github.com/GoodayTH/python_tcp_udp_realtime_graph
ํ๋ก์ ํธ ๊ณํ
Send Btn ๋ฒํผ์ ๋๋ฅด๋ฉด Server์ชฝ์์ ๋๋ค ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ณ Client์ชฝ์์ ๋๋ค ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ ์ค์๊ฐ์ผ๋ก ๊ทธ๋ ค์ค๋ค.
ํ๋ก์ ํธ๋ Python TCP/UDP/WEB toolsํ๋ก์ ํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ ๋ค.
ํต์ฌ์ฝ๋
client ์์ ์ธก์์ ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ
def tcp_client_concurrency(self, address):
while True:
recv_msg = self.tcp_socket.recv(1024)
if recv_msg:
msg = recv_msg.decode('utf-8')
msg_recv = 'Target IP:{}Port:{}:\n{}\n'.format(address[0], address[1], msg)
self.graph_cnt = self.graph_cnt+1
self.x.append(self.graph_cnt)
# self.y.append(np.random.random())
self.y.append(int(msg))
plt.bar(self.x, self.y)
drawnow(self.makt_fig)
self.signal_write_msg.emit(msg_recv)
๋๋ค ๋ฐ์ดํฐ ์ฃผ๊ธฐ์ ์ก์
def tcp_send_RD(self):
self.send_RD_th = threading.Thread(target=self.tcp_send_RD_concurrency)
self.send_RD_th.start()
def tcp_send_RD_concurrency(self):
if self.link is False:
# msg = '่ฏท้ๆฉๆๅก๏ผๅนถ็นๅป่ฟๆฅ็ฝ็ป\n'
msg = 'Check Service and click connect button\n'
self.signal_write_msg.emit(msg)
else:
try:
while True:
send_msg = (str(randint(0, 100))).encode('utf-8')
if self.comboBox_tcp.currentIndex() == 0:
# ๅๆๆ่ฟๆฅ็ๅฎขๆท็ซฏๅ้ๆถๆฏ
for client, address in self.client_socket_list:
client.send(send_msg)
# msg = 'TCPๆๅก็ซฏๅทฒๅ้\n'
msg = 'TCP Server Send\n'
else:
msg = 'this service only enable for tcp server'
self.signal_write_msg.emit(msg)
sleep(1)
except Exception as ret:
# msg = 'ๅ้ๅคฑ่ดฅ\n'
msg = 'Send Error\n'
self.signal_write_msg.emit(msg)