当前位置: 首页> 汽车> 行情 > 社交新零售_设计中国飞机的第一架飞机的人是谁_推广软件赚钱的平台_企业网站的优化建议

社交新零售_设计中国飞机的第一架飞机的人是谁_推广软件赚钱的平台_企业网站的优化建议

时间:2025/7/11 8:02:49来源:https://blog.csdn.net/c_1969/article/details/146305616 浏览次数: 2次
社交新零售_设计中国飞机的第一架飞机的人是谁_推广软件赚钱的平台_企业网站的优化建议

一、描述:

通过blender的脚本,接收socket请求,将socket请求的语句,描述成blender的建模语句,通过exec()函数执行。

二、问题:

运行脚本后,blender界面无法操作。

比如程序中每隔1S添加一个不同位置的棱角球。但是在实际运行过程中,一个小球都没有显示出来。当我想通过blender界面查看时,直接卡死在运行脚本前的界面。

解决方法其实也很简单,就是将脚本单开一个线程。 

thread  = threading.Thread(target=create_server)thread.start()

三、最终代码: 

import bpy
import socket
import math
import threadingdef create_server(host="127.0.0.1", port=55567):# 创建一个 socket 对象# AF_INET 表示使用 IPv4 地址# SOCK_STREAM 表示使用 TCP 协议server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 绑定到指定的地址和端口server_socket.bind((host, port))# 开始监听客户端的连接请求# 参数 5 表示最大连接数(队列长度)server_socket.listen(1)print(f"Server is listening on {host}:{port}...")try:while True:# 等待客户端连接client_socket, client_address = server_socket.accept()print(f"Connection from {client_address}")client_socket.sendall(b"Hello from server!")client_socket.setblocking(False)while True:try:# 接收客户端发送的数据data = client_socket.recv(1024)  # 每次接收最多 1024 字节if data:str = data.decode('utf-8')print(f"Received from client: {str}")# 向客户端发送响应exec(str)else:print("No data received from client.")breakexcept BlockingIOError:#print("BlockingIOError")i = 0# 关闭客户端连接client_socket.close()print(f"Connection with {client_address} closed.")except KeyboardInterrupt:print("Server is shutting down.")finally:# 关闭服务器 socketserver_socket.close()print("Server socket closed.")if __name__ == "__main__":thread  = threading.Thread(target=create_server)thread.start()#create_server()

关键字:社交新零售_设计中国飞机的第一架飞机的人是谁_推广软件赚钱的平台_企业网站的优化建议

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: