我在当前的项目中迷失了方向.从linux机器(Ubuntu服务器),在nodejs中运行代码,我必须通过VPN连接到Windows服务器,并访问在其上运行的mySQL服务器.
关于VPN服务器我只知道它是Windows,我可以通过在另一台Windows机器上使用VPN连接器轻松连接到它,我无法访问该机器或了解其参数.
我所拥有的只是该VPN内部的VPN和数据库服务器的IP,以及VPN和数据库的用户名/密码.我也知道VPN使用ms-chap v2.
我正在尝试使用openvpn:
sudo openvpn --remote vpnIP --dev tun --ifconfig 127.0.0.1 dbIP
Run Code Online (Sandbox Code Playgroud)
这不显示任何错误消息,但从不请求VPN的用户名/密码
创建VPN后,我应该怎么做nodejs来访问数据库?
正如我所说,我很失落!任何小费都将受到欢迎!
我正在使用 Microchip 的 XC32 为 ATSAM 设备编写代码(我不清楚是 C99 还是 C11)。
这段代码工作正常:
typedef union {
struct {
uint16_t bit1 : 1;
uint16_t bit2 : 1;
// .. MUCH more lines...
};
struct {
uint32_t data[N];
// ... more lines, with sub-structures....
};
} Context_t;
Context_t c;
c.data[0] = 1;
c.bit2 = false;
Run Code Online (Sandbox Code Playgroud)
注意这两个匿名结构。
由于这两个结构都很大,并且一直在变化,并且它们的代码是由其他脚本自动生成的,所以像这样使用它们会更方便:
// bit.h
typedef struct {
uint16_t bit1 : 1;
uint16_t bit2 : 1;
// .. MUCH more items...
} Bits_t;
// data.h
typedef struct {
uint32_t data[N]; …Run Code Online (Sandbox Code Playgroud) 在我的新周末项目中,我决定从头开始编写一个 BitTorrent 客户端,根本没有准备好使用库。经过两天寻找文档后,我已经准备放弃了:smile:。我知道有BEP,但它们远远不足以理解所有规范。在阅读了更多内容之后,我认为跟踪器和对等协议似乎很旧并且易于理解/实现(是的,我知道,要编写具有平衡、对等选择、优化的良好代码,这并不容易,正如我刚才所说的,但我只想做基础知识来学习,而不是与那里的数十个优秀客户竞争。)
因此,我决定从 DHT 开始,这似乎是更复杂的部分,而且文档也更少。当您停止寻找 bittorrent DHT 或主线 DHT 并开始寻找 kademlia DHT 时,您会获得更多信息,但如何将它们组合在一起并不那么明显。
以下是我到目前为止的理解(还有一些我希望填补的空白):
find_nodes在我的引导节点上使用find_nodes向选定的人发出并将他们的回复添加到我的树中announce_peer带有 an 的info_hash信息,我应该将其信息保存在本地数据库上(发送者的 info_hash 和 ip/端口)get_peers与info_hash我数据库中的节点一起使用,那么我发送信息,否则我应该发送我自己的树中更接近的节点列表(最接近该 info_hash)get_peers在其他节点上使用时,我将收到对等点或节点,在后一种情况下,我认为这些节点更接近,info_hash而不是我自己的nodeId,所以,我应该将这些节点添加到我的树中还是基于它们启动一个新树?info_hash我应该在任何地方使用还是只在更接近目标的announce_peer节点上使用?距离多少才算足够近?nodeIdinfo_hash此时我有很多ID与我自己的ID更接近的节点,而有关info_hash的信息我并不真正感兴趣。
我担心我有一个巨大的愚蠢问题:我为什么这么做?
我的意思是:我做所有这些工作的自私原因是找到我感兴趣的 info_hash 的对等点。我知道一个 info_hash 的信息可能保存在 ID 更接近该 info_hash 的节点上。因此,如果我创建一棵更接近 info_hash 而不是更接近我自己的 ID 的节点树,我找到其信息的机会就会更大(此时,如果您知道主题,您已经注意到我有多么迷失)。
我应该创建多棵树吗?一棵适合我(保存人们发送给我的更接近我的nodeID的info_hashes信息),另一棵更接近我的目标info_hashes的信息,以便我可以检索他们的信息?
我是否应该创建一棵更接近我的节点 ID 的树,并在查询该树以获得我需要的 …