我在使用 Web 套接字连接 Electron 和 Python 时遇到了一些问题(主要是作为学习经验):
使用 Electron Ok构建桌面应用程序
构建一个Python程序来监控一些事情
使用 socket.io 连接 Python 和 Electron不工作
首先,我使用https://github.com/miguelgrinberg/python-socketio/tree/master/examples/server/aiohttp中的“延迟”示例在 python 中测试了 socket.io 。当我在 Chrome 中查看http://localhost:8080/时,效果非常好。
下一步是要求 Electron 在桌面应用程序中加载相同的 url mainWindow.loadURL('http://localhost:8080')(我使用了官方示例中的模板electron-quick-start)。我只需在 html 中添加两行,如下所示:Electron: jQuery 没有为 jquery 定义以在 Electron 中正确加载,但它再次运行良好。
现在我尝试创建一个index.html具有相同内容的latency.html并使用 加载它mainWindow.loadFile('gui/index.html')。我改变了线路var socket = io.connect();(var socket = io.connect('ws://localhost:8080');我也尝试过ws://127.0.0.1:8080和ws://192.168.<x>.<x>:8080)。html 文件正确加载,但套接字开始重复连接和断开连接,并出现错误请求错误(我添加了两行 console.log 行):
(console.log) connected
(error) POST http://localhost:8080/socket.io/?EIO=3&transport=polling&t=MosNuF3&sid=c62ce5a6090c4b72bf3f7c6916da6ce7 400 …Run Code Online (Sandbox Code Playgroud) 我用这个:
SELECT *
WHERE id=MAX(id)
FROM history;
Run Code Online (Sandbox Code Playgroud)
但我的查询是空的.我也试过这个(这个有效):
SELECT MAX(id) AS max_id
FROM history;
Run Code Online (Sandbox Code Playgroud)
但显然我的查询只包含max_id键.我第一个错在做什么?
我有两个关于OpenGL混合的问题.
1)我知道我必须首先绘制不透明的物体,然后从后面到前面绘制不透明的物体.所以我把它们放在一个列表中,取决于到中心的距离(0,0,0).但转换(旋转和平移)会影响我测量距离的"中心"吗?
2)其次,如果我绘制的项目是三角形,我该如何测量距离?它的灵魂?到它的中心点?
问题很简单,我想我不能这样做:(我在头文件中)
typedef struct {
myclass *p;
...
} mystruct;
class myclass {
private:
mystruct *s;
...
}
Run Code Online (Sandbox Code Playgroud)
因为当编译器到达结构时它不知道myclass是什么,但是由于同样的原因我不能反过来:
class myclass {
private:
mystruct *s;
...
}
typedef struct {
myclass *p;
...
} mystruct;
Run Code Online (Sandbox Code Playgroud)
我怎么能做到这一点?我猜有一些方法可以说编译器"有一个叫做mystruct的结构"在类之前(2例)所以它知道mystruct *s它是可能的但是我无法设法做到这一点.谢谢
我正在制作一些函数来保存和加载我的值:
他们是这两个:
void safeFile(string &set_name) const;
void loadFile(string &set_name);
Run Code Online (Sandbox Code Playgroud)
这里的问题是我也希望它们为char*工作所以我像这样重载它们:
void safeFile(string &set_name) const;
void loadFile(string &set_name);
void safeFile(char* set_name) const;
void loadFile(char* set_name);
Run Code Online (Sandbox Code Playgroud)
在cpp文件中:
void myclass::loadFile(string &set_name)
{
...
}
/* loadFile */
void myclass::safeFile(string &set_name)
{
...
}
/* safeFile*/
void myclass::loadFile(char *set_name)
{
string mystring(set_name);
loadFile(mystring);
}
/* loadFile */
void myclass::safeFile(char *set_name) const
{
string mystring(set_name);
safeFile(mystring);
}
/* safeFile*/
Run Code Online (Sandbox Code Playgroud)
有没有更好的或其他方式我应该这样做?谢谢