Advertisement
Guest User

Untitled

a guest
Dec 9th, 2021
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. import asyncio
  2. from PyQt5.QtCore import pyqtSlot, pyqtSignal, QObject
  3. from PyQt5.QtWidgets import QWidget
  4. from PyQt5.QtWidgets import QApplication, QLabel, QMainWindow, QDialog, QMessageBox
  5. from qasync import QEventLoop,asyncSlot
  6.  
  7. class Data_Link(QObject):
  8. transmission = pyqtSignal(str)
  9.  
  10. class beagle_client():
  11.  
  12. @asyncSlot()
  13. async def tcp_echo_client(self,message, loop,form):
  14. response_link = Data_Link()
  15. response_link.transmission.connect(form.RecieveResponse)
  16. port = 7777
  17. server = 'beaglebone.local'
  18. # loopback
  19. reader, writer = await asyncio.open_connection(server,port,loop=loop)
  20. print('Send: %r' % message)
  21. writer.write(message.encode())
  22. if (message not in []):
  23. data = await reader.read(n=-1)
  24. val = data.decode()
  25. #print('Received: %r' % val)
  26. val = message + ',' + val
  27. print('Close the socket')
  28. writer.close()
  29. print('emitting value:',val)
  30. response_link.transmission.emit(val)
  31.  
  32. @asyncSlot()
  33. async def capture_stream(self,loop,form):
  34. data_link = Data_Link()
  35. data_link.transmission.connect(form.RecieveStream)
  36. port = 7778
  37. server = 'beaglebone.local'
  38. print('Connecting to server {} on port {} '.format(server,port))
  39. try:
  40. # loopback
  41. reader, writer = await asyncio.open_connection(server,port,loop=loop)
  42. except ConnectionRefusedError:
  43. print('Connection to server {} on port {} failed!'.format(server,port))
  44. else:
  45. print('connected successfully')
  46. while True:
  47.  
  48. try:
  49. data = await reader.readuntil(separator=b'\r')
  50. except asyncio.IncompleteReadError:
  51. print('stream buffer empty')
  52. continue
  53. else:
  54. #print( f'received {len(data)} bytes' )
  55. val = data.decode()
  56. data_link.transmission.emit(val)
  57.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement