Articles of networking

无法通过非默认NIC发送多播

在Windows 7虚拟机上,我尝试使用第二个(非默认的)两个networking接口将UDP数据包发送到多播地址。 我可以使用/ INTF选项(不允许指定端口)使用mcast来实现此目的,但我的C#代码不起作用: void run(string ipaddrstr, int port, string nicaddrstr) { int index = -1; // Create a socket for the UDP broadcast Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); IPAddress ipaddr = IPAddress.Parse(ipaddrstr); IPAddress nicAddr = IPAddress.Parse(nicaddrstr); int i = 0; foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces()) { if (ni.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 || ni.NetworkInterfaceType […]

在Java中设置Windows XP中的networking接口的IP地址

我需要从我们的Java应用程序在Windows XP机器上设置IP地址。 因为我不知道如何纯粹从Java设置,我想用netsh来设置它。 因为有多个接口我需要获得特殊的“长名称”的networking连接。 Nethsh命令将如下所示: netsh接口ip设置地址名称=“本地连接”源= dhcp 我试图使用 NetworkInterface的 上课获得它,但没有成功。 对于Windows XP上的networking名称,它返回名称,如“eth0”:) 我目前parsing命令“ipconfig”的输出,但不仅是问题,它也不与各种XP语言突变的规模。

将Web应用程序加载为Windows桌面应用程序的简单/最佳方法?

你好基本上我有一个使用HTML5 / PHP等build立的Web应用程序,它是一个音乐播放器,类似于Spotify和潘多拉。 我想分发作为桌面应用程序的Web应用程序,以便人们可以直接从桌面运行它,而无需打开浏览器。 我不喜欢像系统的浏览器,只是加载网页视图(类似于在iOS中加载web视图)(没有标签没有url栏等) 我听说棱镜,但已停产,我无法find任何地方的下载链接。 你有什么build议吗? 对于Mac OS X,我发现了FluidApp,它似乎工作得很好,因为它build立了一个独立的应用程序。 对于iOS,我可以简单地通过webview加载web应用程序,它工作的很好,正是我所需要的。 对于android我基本上加载一个webview。 Windows让我停下来通过一个独立的桌面应用程序加载Web应用程序。 所以如果有人能够帮助我,将不胜感激!

Windows防火墙编程

我GOOGLE了很多次,直到我创build了这个问题,所以请原谅,如果有一些教程。 我没有find他们。 如何在Windows中编写防火墙应用程序? 我想过在每个进程中使用内联钩子的用户模式fiewall,但是有一个问题,我不能在Windows 7中挂钩csrss.exe(它创build新的进程)。第二件事是它不是很干净,确定为恶意软件。 所以我认为我应该把内核模式的API作为一个驱动程序。 但是有三个问题。 首先,我不知道Windows套接字的内核API。 其次我没有任何有关内核模式钩子的经验。 第三,我不知道这是否正确。 别担心,我知道这不是一件容易的事情,我不是初学者,只是一个想法;)。 如果有人有好的信息,请分享。 哦,我想写的x86系统;)。

监听传入数据时,“现有连接被远程主机强制closures”

在使用boost asio时,我偶然发现了一些奇怪的行为,我不太明白。 我写了一个最小的testing程序来复制这个问题: #include <boost/asio.hpp> #include <iostream> using boost::asio::ip::udp; int main(int argc,char *argv[]) { boost::asio::io_service ioService; udp::resolver resolver(ioService); udp::resolver::query queryListen("127.0.0.1","50001"); auto epListen = *resolver.resolve(queryListen); udp::socket socket(ioService,epListen); udp::resolver::query querySend("127.0.0.1","55006"); auto epSend = *resolver.resolve(querySend); boost::system::error_code err; std::array<char,12> buffer = {'1','2','3','4','5','6','7','8','9','10','11','12'}; socket.send_to( boost::asio::buffer(&buffer[0],buffer.size()), epSend,0,err ); if(!err) { std::cout<<"Sent successfully!"<<std::endl; auto numBytes = socket.receive( boost::asio::buffer(&buffer[0],buffer.size()),0, err ); if(!err) std::cout<<"Received […]

寻找物理适配器的MAC地址

我想使用一个唯一的标识符来确定我的应用程序是否移动到不同的计算机。 MAC地址似乎适合于这个目的。 我使用的代码是这样的: Procedure TForm4.GetMacAddress; var item: TListItem; objWMIService : OLEVariant; colItems : OLEVariant; colItem : OLEVariant; oEnum : IEnumvariant; iValue : LongWord; wmiHost, root, wmiClass: string; i: Int32; function GetWMIObject(const objectName: String): IDispatch; var chEaten: Integer; BindCtx: IBindCtx;//for access to a bind context Moniker: IMoniker;//Enables you to use a moniker object begin OleCheck(CreateBindCtx(0, bindCtx)); […]

创build自定义协议(Windows 7)

我一直在尝试创build一个自定义协议(open_php_file://)来通过浏览器打开本地文件。 我创build了以下registry项: HKEY_CLASSES_ROOT open_php_file (Default) = "URL:PHPEd protocol" URL Protocol = "" DefaultIcon (Default) = "phped.exe" shell open command (Default) = "C:\Program Files (x86)\NuSphere\7.0\phped.exe" "%1" 问题是:我无法打开我的浏览器中的文件(例如:open_php_file:// c:\ file.txt),并且该协议没有在Windows默认程序中列出。

Windows默认打印机未设置时,“没有select默认打印机”错误

当没有Windows默认打印机设置时,我需要打开打印机对话框。 当Windows默认打印机设置时,它可以正常工作。 TPrintDialog *dlgPrint = new TPrintDialog(frmDisplayDetail); if( dlgPrint->Execute()) { //code here } 但是,如果在Windows中没有默认的打印机设置,则dlgPrint->Execute()将引发一个exception: 没有select默认打印机 要检查默认的打印机索引,我使用了Printer()->PrinterIndex 。 没有Windows打印机设置时,此值变得不可访问: 错误E2122函数调用在地址XXX处由未处理的exceptionXXX终止 难道我做错了什么? 请提出解决scheme。

如何在多主机之间创builddocker覆盖networking?

我一直在尝试在两台主机之间创build一个覆盖networking,但没有成功。 我不断收到错误消息: mavungu@mavungu-Aspire-5250:~$ sudo docker -H tcp://192.168.0.18:2380 network create -d overlay myapp Error response from daemon: 500 Internal Server Error: failed to parse pool request for address space "GlobalDefault" pool "" subpool "": cannot find address space GlobalDefault (most likely the backing datastore is not configured) mavungu@mavungu-Aspire-5250:~$ sudo docker network create -d overlay myapp [sudo] […]

摄像头访问在C + +

我想访问摄像头,所以我可以在图像上做一些处理,比如追踪光线,但是我找不到访问摄像头的方法。 我GOOGLE了,但我感到困惑。 你能指点我一个可以做到这一点的图书馆(窗口)? 也许还提供一个例子? 如果可能的话,我需要定期获取图像的像素图,大约每秒20次。