networking相关内容

在TCP流发送消息

TCP是基于流的,这意味着你发送的字节没有他们在一个“消息”一定是,这样的接收器可以得到一半的消息或者一个和消息的三分之二。 所以,像一个游戏,每个消息是固定大小的,如果我收到的消息的一部分,我可以只保存在一个缓冲区,直到我收到另一部分。这是一个有点乏味,但没有任何其他基于消息的可靠的协议?有可能有,但都不是在操作系统中与TCP和UDP实现的,所以我不得不使用一些库,它是罚款,只要它很容易使用。 ..
发布时间:2016-08-23 10:26:25 C/C++

在接受函数的地址长度大小上述< SYS / socket.h中>

在“SYS / socket.h中”,它定义函数: INT接受(INT插座,结构sockaddr *地址中,socklen_t * address_len); 我的问题有 socklen_t的做* address_len 这基础上,手册指向 socklen_t的该输入指定提供的的sockaddr 结构的长度,并在输出指定存储地址的长度。 在什么情况下会在 address_len 输入尺寸从 ..
发布时间:2016-08-22 17:02:23 C/C++开发

在ANSI C绑定socket到端口80

当我尝试绑定端口8​​0在C套接字,我总是得到错误,我没有使用此端口的权限。有一种简单的方法来获得此权限吗? 解决方案 通常只有超级用户(root)可以绑定到“特权”端口(即,低于1024的端口号)。 这意味着你要么运行您的程序以root或让你的可执行文件的SUID根'。 这两种有安全后果,所以你可能要考虑使用的suid方法,并放弃超级用户权限,一旦绑定已经调用。 ..
发布时间:2016-08-22 16:47:00 C/C++

如何检测数据卡连接,并在Win32断开事件

我有一个数据卡,只要我插入数据卡,我用wm_device_change事件得到的事件。 但我也想获得的事件,当我的数据连接实际连接到了一方天地。 我的意思是说,只要我们点击数据卡的连接/断开按钮,我想要得到的事件。 确切地说想知道,当连接建立和断开连接。 数据卡是沃达丰数据卡,我试图使用数据卡进行浏览。什么都是SDK,某处操作系统应该得到连接和断开网络的情况下,有没有什么办法来访问事件,操 ..
发布时间:2016-08-22 16:19:12 C/C++开发

利用Netfilter的封装和解封装IPv4数据包

我在netfilter框架两个挂钩。 一个在 NF_IP_ pre_ROUTING 接收报文和其他在 NF_IP_LOCAL_OUT 传出的数据包。 发送数据包: 现在,所有的IPv4报文从特定IP地址发送出去,被封装在另一个IPv4-UDP数据包。 我用 pskb_expand_head API来对封装的更多空间。而且,然后用 ip_route_output_key 来找到合适的 rta ..
发布时间:2016-08-22 16:00:00 C/C++

是否有可能以处理插座级代理?

我做的Windows,现在envolving HTTP协议的一些网络编程。 是否有可能在处理套接字级prosies?和SSL代理?如果没有,的Windows提供的东西在更高的层次来处理它们?我不希望使用第三方库,但如果没有别的路可走我会重新考虑它。 一个指向一个例子也将是巨大的。 非常感谢你。 解决方案 您可以使用如的Windows Internet(的WinINet)API的 ht ..
发布时间:2016-08-22 15:56:01 C/C++

程序中使用的ARP

我需要一些C或C ++ code,Linux下编译,以便能够采取远程主机计算机的一些任意数目的IP地址的列表,并获得一个以太网MAC地址作为每一个。这些主机上可能是在同一个子网或他们可能是在路由器后面的不同的子网。其确定,如果部分或全部远程主机的MAC地址是路由器的接口的地址。最后,我想手头宽裕的IP地址和MAC地址,谁将会使用这些信息来格式化,并通过以太网发送UDP / IP数据包的主机的FPG ..
发布时间:2016-08-22 15:54:48 服务器开发

转发数据包在同一个主机服务,而不使用网络环回

我有接收基于iptables的一些规则从内核包这个libnetfilter_queue应用。前直去我的问题,我给一个样本可行code和其他工具,以建立一个测试环境,让我们的定义问题和可能的解决方案可以更准确和鲁棒性。 以下code描述应用程序的核心功能: 的#include<&stdio.h中GT; #包括LT&;&stdlib.h中GT; #包括LT&;&unistd.h中GT; #包 ..
发布时间:2016-08-22 15:41:48 服务器开发

什么是pcap_pkthdr那里?

code段从这里: 无效packet_handler(u_char *参数,const的结构pcap_pkthdr *头,常量u_char * pkt_data) { .... / * retireve IP头的位置* / IH =(IP_HEADER *)(pkt_data + 14); //以太网头部长度 .... 什么是 const的结构 ..
发布时间:2016-08-22 15:38:16 C/C++

分析网络软件/概要分析软件,大量的系统调用的等待

我工作的一个复杂的网络软件和我有麻烦确定如何提高系统的性能。 具体而言,其中使用阻断同步调用的软件的一部分。由于该系统的这一部分是做重计算它几乎是不可能,以确定是否该组件的缓慢通过这些计算或等待该系统的其它部分造成的。 是否有任何重量轻廓线仪,可以捕捉到这一信息?我无法使用重型轮廓像Valgrind的,因为这将完全扭曲的结果(虽然Valgrind的将是完美的,因为它抓住了所有必需的信息)。 ..
发布时间:2016-08-22 15:29:03 服务器开发

HOWTO检查在C网设备的状态?

我想检查网络设备的状态如混杂模式。基本上像显示是 IP一个命令。 也许有人可以把我在正确的方向? 我要为Linux做这在C因此Linux特定的头文件是可用的。 解决方案 您需要使用 SIOCGIFFLAGS 的ioctl检索与接口关联的标志。然后,您可以检查 IFF_PROMISC 标志设置: 的#include<&stdlib.h中GT; #包括LT&;&stdio.h中GT ..
发布时间:2016-08-22 15:07:41 服务器开发

安全,高效地访问由C网络数据包未对齐数据

我在一个ARM9处理器C语言编写的Linux程序。该计划是访问网络数据包,其中包括标签的数据就像一个序列: < fieldID><长度GT;<数据>< fieldID><长度GT;<数据> ... 该fieldID和长度字段都uint16_t。该数据可以是1个或更多个字节(高达64K如果使用的全长,但它不是)。 只要<数据&G ..
发布时间:2016-08-22 14:42:17 C/C++

多播回环设备上

我要发送UDP多播数据包环回地址和接收到其他应用程序一样。在Fedora Core完成所有测试17的Linux。 我们的想法是通过RTSP / HTTP或任何其他网络协议接收视频流和多播它的回送地址,这样我可以使用VLC播放使用多播地址的数据流。撇开其他的比特率和可控组播的问题,我试图读取一个视频文件,多点传送回设备。但是当使用时播放相同的VLC它并没有奏效。我能看到包在Wireshark中得到 ..
发布时间:2016-08-22 14:38:33 服务器开发

`select`从多个线程同时FD

如果我叫会发生什么选择从多个线程相同的开放文件描述符? 这是记载地方? 解决方案 按照 POSIX 2008 选择 规范中,没有什么是禁止从两个线程都调用选择在同一时间。 这是合理的推断,如果两个线程监视重叠组文件描述符和一些常见的文件描述符成为读写或已经诊断错误,那么这两个线程可以结束了一个报告,共同文件描述符准备。这不能保证;有定时问题不用担心,它可能取决于线程的调度等,还意味着一 ..
发布时间:2016-08-21 21:57:24 服务器开发

我怎样才能通过WiFi发送原始数据包没有网络?

我要发送的2树莓派的通过wifi一些数据没有他们连接到网络。 我希望它的工作方式类似于信标和探测请求工作,在广播,可发出的无线接口。 我想发送将设备与所述分组的发送时间的主机名的数据。 我一直试图弄清楚这一点在过去的几天,但我不能让任何事情没有他们是在同一网络上工作。 时有人能指出我在正确的方向? 我不是太大惊小怪我用什么语言。我一直在努力Python和C收效甚微。 解决方案 的 ..
发布时间:2016-08-21 21:37:43 Python

什么是最有效的方式来获得网页源$ C ​​$ C用C?

在 PHP 我能做到这一点就这么简单: 的file_get_contents('http://stackoverflow.com/questions/ask'); 什么是最短code做同样的 C 更新 当我编译的卷曲样品,得到了这样的错误:在函数_main引用解析的外部符号__imp__curl_easy_cleanup 解决方案 使用 libcurl的,指他们的例如,C片段 ..
发布时间:2016-08-21 21:18:53 C/C++

(C,Linux)的了解,如果一个网络接口是无线或有线

我有一个具有两个分开的部分的程序:其中一个应执行时所述网络接口是无线LAN而另一个时,它的一个有线LAN连接。我怎么能知道我的节目里面?我应该使用什么函数来获得这些信息? 解决方案 您可以在命令行中使用iwconfig命令: $ iwconfig的 LO没有无线扩展。 没有eth0的无线扩展。 如果您需要使用它从C,如上@不透明的链接解释说,获得源代码,或者使用strace的,看看 ..
发布时间:2016-08-21 21:16:13 服务器开发

因为它通过内核(Linux)的跟踪数据包

我有被设置为使用IP的安全和机器的双机(让我们称之为A和B)已经被绑定到特定UDP端口本地计算机上的插座和轮询它常常看是否任何接收就可以了。 当我禁用IP安全,两台机器之间的数据经过很好,我发送和接收数据包的罚款。但基于IP的安全性时,该数据包不得到机器A套接字由计算机B发送的。 我做了的tcpdump 双方的机器,我可以看到的(加密)数据包从主机B发送出去,并在机器A.但在那之后被接收,该分 ..
发布时间:2016-08-21 21:10:26 C/C++

字节顺序和Socket的C程序设计

我正在与使用C插座某些病人监护仪沟通的程序。我使用无连接插座(UDP)与所述设备进行通信。但是,我的计算机和设备,到目前为止,我这样做是为了获得病人监护仪解析响应之间的字节顺序不匹配: recvfrom的(INT插座,字符*缓冲区,为size_t长度,诠释旗帜, 结构sockaddr *地址中,socklen_t * address_len); 然后我被铸造缓冲区 ..
发布时间:2016-08-21 20:32:46 C/C++