thonny中的socket通信代码-2019-7-26

首先,我找到_handle_socket_request这么一个函数,理论上来说应该是在运行代码时会有所输出的

thonny中的socket通信代码-2019-7-26_第1张图片

阅读workbench.py后,我发现除了 _init_server_loop中能够输出server_socket的具体信息,这个client_socket始终不能得到

thonny中的socket通信代码-2019-7-26_第2张图片

推测应该是这个accept()函数一直等待返回结果,所以阻塞!!!

thonny中的socket通信代码-2019-7-26_第3张图片

 

接下来应该是阅读running.py

thonny中的socket通信代码-2019-7-26_第4张图片

 thonny中的socket通信代码-2019-7-26_第5张图片

以下函数是在shell中显示 %Run 'test - 副本 - 副本.py'

shell.py中

thonny中的socket通信代码-2019-7-26_第6张图片

 

shell.py中代码执行结果的相关函数

_handle_program_output中调用_apply_io_event, _insert_text_directly,

而这个_handle_program_output又是在running.py中绑定的

thonny中的socket通信代码-2019-7-26_第7张图片

 

不如直接找点击了运行按钮之后的事件操作,也就是顺序来找

thonny中的socket通信代码-2019-7-26_第8张图片

thonny中的socket通信代码-2019-7-26_第9张图片

最后发现在running.py的fetch_next

thonny中的socket通信代码-2019-7-26_第10张图片

你可能感兴趣的:(学而思工作)