微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

以编程方式从networking接口发送数据

我有一个端口查询应用程序,检查远程端口,看它是否是打开或阻止。 我想要做的是在进行端口检查时,能够select本地计算机上的哪个networking接口来发送stream量。 这是可能的,我将如何做?

更新:

我已经添加了以下几行,但仍然没有约束力

string localip; localip = interfacesComboBox.Text; Socket socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp); socket.ReceiveTimeout = 1000; IPAddress myIP = IPAddress.Parse(localip); socket.Bind(new IPEndPoint(myIP,0));

条件variables信号问题

C预处理文件中的这些不熟悉的行是什么?

使用wiuse库及其事件的问题

操作系统如何执行缓冲文件

'/usr/include/c++/4.4/bits/'中的位有什么意义

代码执行在subprocess中开始在哪里?

在Linux中打开RAW套接字,而不是超级用户

带有desktop.ini的自定义文件夹图标和即时刷新

我有足够的内存,但mmap保持失败,说不能分配内存

Windows中的二进制输出

private ushort BindToNextAvail(Socket sock,params ushort[] portList) { foreach (ushort i in portList) { try { sock.Bind(new IPEndPoint(IPAddress.Any,i)); return (ushort)((IPEndPoint)sock.LocalEndPoint).Port; } catch { Logger.Instance().WriteLog(EventLogEntryType.Warning,"Unable to use port " + i.ToString()); } } return 0; }

这是从我的实时应用程序,所以它应该大致为你工作。

以及调用方法的示例:

Socket socket = new Socket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp); socket.ReceiveTimeout = 1000; if (Bind(socket,10000,10001,10002) == 0) throw new SocketException(10049); // "Cannot assign requested address" exception

假设你正在使用套接字,在连接之前调用Bind方法。 它允许您通过指定本地端点的IP来指定要使用的网络接口。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐