小编Din*_*.R.的帖子

C++结构初始化

是否可以在C++中初始化结构,如下所示

struct address {
    int street_no;
    char *street_name;
    char *city;
    char *prov;
    char *postal_code;
};
address temp_address =
    { .city = "Hamilton", .prov = "Ontario" };
Run Code Online (Sandbox Code Playgroud)

这里这里的链接提到可以仅在C中使用此样式.如果是这样,为什么在C++中这是不可能的?是否有任何潜在的技术原因导致它没有在C++中实现,或者使用这种风格是不好的做法.我喜欢使用这种初始化方式,因为我的结构很大,这种风格让我清楚地看到了为哪个成员分配了什么值.

如果有其他方法可以达到相同的可读性,请与我分享.

在发布此问题之前,我已经提到了以下链接

  1. C/C++ for AIX
  2. C变量的结构初始化
  3. 使用C++中的标记进行静态结构初始化
  4. C++ 11正确的结构初始化

c++

259
推荐指数
10
解决办法
44万
查看次数

Systemd Service Type oneshot和simple之间有什么区别

systemd服务Type oneshot和有simple什么区别?此链接表示使用simple而不是oneshot计时器.我无法正确理解它.

systemd

35
推荐指数
1
解决办法
4万
查看次数

Twitter Bootstrap TypeAhead可以像DropDown List/Select Tag with Autocomplete Feature一样工作

我希望使用Twitter Bootstrap TypeAhead具有自动完成功能的DropDown列表/ <选择> HTML标记行为.此处的链接实现了Combo Box的功能,用户也可以提供自己的输入.我想限制用户只从提供的选项中选择.有没有办法调整Twitter Bootstrap TypeAhead插件来模拟具有自动完成功能的DropDown列表/标记的行为.

我在发布之前提到了以下问题

  1. 向Twitter bootstrap typeahead组件添加下拉按钮

javascript jquery typeahead twitter-bootstrap

28
推荐指数
3
解决办法
6万
查看次数

NodeList上的addEventListener

NodeList是否支持addEventListener.如果不是,将EventListener添加到NodeList的所有节点的最佳方法是什么.目前我使用的代码片段如下所示,有没有更好的方法来做到这一点.

var ar_coins = document.getElementsByClassName('coins');
for(var xx=0;xx < ar_coins.length;xx++)
{
        ar_coins.item(xx).addEventListener('dragstart',handleDragStart,false);
}
Run Code Online (Sandbox Code Playgroud)

javascript nodelist addeventlistener

28
推荐指数
5
解决办法
3万
查看次数

我们是否有适用于Google Maps API V3的未压缩JavaScript库

我在使用Google Map API V3 Javascript库时遇到"Uncaught TypeError".我无法找到此错误即将发生的功能.我们是否有针对Google MAP API的未压缩Javascript库.如果没有,请提供您的建议进行调试.谢谢你,Dinesh

google-maps-api-3

7
推荐指数
1
解决办法
2143
查看次数

下划线js _.each方法和_.invoke方法之间的区别

我无法理解下划线js方法_.each_.invoke.
两者似乎都调用了每个项目传递的函数.

在这情况下,我将使用_.each_.invoke

请与一些例子分享不同之处.

underscore.js

7
推荐指数
1
解决办法
4990
查看次数

UDP服务器套接字缓冲区溢出

我正在Linux上编写C++应用程序.我的应用程序有一个UDP服务器,它在某些事件上向客户端发送数据.UDP服务器还从客户端接收一些反馈/确认.

为了实现这个应用程序,我使用单个UDP套接字(例如int fdSocket)来发送和接收来自所有客户端的数据.我把它绑定到端口8080并将套接字设置为NON_BLOCKING模式.

我创建了两个线程.在一个线程我等待一些事件发生,如果有事件发生,然后我用fdsocket将数据发送到所有客户端(在for循环).

在另一个线程中,我使用它fdSocket来从clients(recvfrom())接收数据.该线程计划每4秒运行一次(即每隔4秒就会调用一次recvfrom()从套接字缓冲区中检索数据.由于它处于NON-BLOCKING模式,recvfrom()如果没有UDP数据可用,函数会立即返回,然后我会去睡4秒)

来自所有客户端的UDP反馈/确认具有固定的有效载荷,其大小为20字节.

现在我有两个与此实现相关的问题:

  1. 使用相同的套接字与Mulitiple客户端发送/接收UDP数据是否正确?
  2. 如何在没有UDP套接字缓冲区溢出的情况下找到我的应用程序可以处理的UDP反馈/确认数据包的最大数量(因为我每4秒读取一次,如果我在这4秒内收到大量数据包,我可能会丢失一些数据包,即.我需要找到我能安全处理的数据包/秒的速率)?

我尝试fdsocket使用函数调用获取socket()的Linux套接字缓冲区大小getsockopt(fdsocket,SOL_SOCKET,SO_RCVBUF,(void *)&n, &m);.从这个函数我发现我的套接字缓冲区大小是110592.但我不清楚将在这个套接字缓冲区中存储什么数据:它是否只存储UDP有效载荷或整个UDP数据包或事件整个以太网数据包?我提到这个链接是为了得到一些想法,但感到困惑.

目前我的代码有点脏,我会在这里清理并发布.

以下是我在发布此问题之前提到的链接.

  1. Linux网络
  2. UDP SentTo和Recvfrom最大缓冲区大小
  3. UDP套接字缓冲区溢出检测
  4. UDP通过同一个套接字广播和单播?
  5. 从多个线程中的相同UDP套接字发送
  6. 如何在C中刷新UDP套接字的输入缓冲区?
  7. 如何找到linux的socket缓冲区大小
  8. 如何获取UDP套接字的排队数据量?

c++ sockets linux buffer udp

6
推荐指数
2
解决办法
6372
查看次数

使用 HTTPS/SSL 的服务器到服务器通信

我有两台使用 HTTP/Rest 协议交换信息的服务器。现在我想保护这两个服务器之间的通信。所以我计划通过HTTPS / Rest来实现信息交换。这可能吗?如果可能,请给我一些例子。

信息:我在 CentOS 上使用 Apache Httpd。 谢谢你,Dinesh

https

5
推荐指数
0
解决办法
5051
查看次数

比较IPV4套接字(sockaddr_in)和IPV6套接字(sockaddr_in6)

我有一个UDP服务器,它必须在IPV4和IPV6地址上为客户端提供服务.我创建了一个IPV6套接字来为IPV4和IPV6客户端提供服务.

服务器在第一次通信时存储客户端的IPAddress.如果它是IPV4客户端,则它存储为IPV4地址,如果是IPV6客户端,则服务器存储为IPV6地址.对于将来的所有通信,它会检查存储器是否已知(存储)此客户端,然后相应地执行操作.为了比较客户端地址和存储的地址,我根据族类型(AF_INET和AF_INET6)执行memcmp.

在与IPV6客户端通信时,系统正常工作,但在与IPV4客户端通信时,系统表现得好像从不知道客户端.在调试时我发现由于IPV6的套接字类型,IPV4客户端的IPAddress被接收为IPV6映射的IPV4地址,其中系列设置为IPV6.要解决这个问题,我需要比较IPV4存储地址和IPV6映射地址.为此我使用了IPV4结构的sin_addr.s_addr和IPV6结构的sin6_addr.in6_u.u6_addr32.请在下面找到代码段.

ipv6_clientdata = (const struct sockaddr_in6 *)&sockStor;
ipv4_storeddata = (const struct sockaddr_in *)&(_stData[index].clientaddr);
if( (ipv6_clientdata->sin6_port == ipv4_storeddata->sin_port) && 
    (ipv6_clientdata->sin6_addr.in6_u.u6_addr32[3] == ipv4_storeddata->sin_addr.s_addr) 
  )
{
    addrfound = true;
}
Run Code Online (Sandbox Code Playgroud)

我想知道这种方法是否是将IPV6映射IPV4地址与IPV4地址进行比较的正确解决方案,还是有其他更好的方法.

c++ sockets udp

5
推荐指数
1
解决办法
1899
查看次数

Grommet UI - 自定义颜色方案

我正在使用grommet-ui和webpack进行反应.如何设置自己的颜色选项.

有没有办法使用我自己的自定义颜色/配色方案代替预定义的颜色,如colorIndex ="neutral-1".

reactjs grommet

4
推荐指数
1
解决办法
1519
查看次数