天道酬勤,学无止境

network-programming

在一个应用程序中使用多个网络接口(Use multiple network interfaces in an app)

问题 我写了一个应用程序,通过 wifi 触发索尼 qx 智能手机可连接相机。 但是,我需要通过另一个本地网络实时从手机传输图像。 由于 wifi 卡用于 qx 连接,我需要能够通过 USB 使用以太网从手机传输图像。 Http 请求将用于触发相机并从手机发送图像。 是否可以在具有两个网络接口设置的手机上的一个 android 应用程序中指定某些 http 请求使用一个网络接口而其他人使用另一个网络接口? 这是否需要通过路由表而不是java来完成? 我使用的手机是 root 的 nexus 6p。 更新: 目前,我能够让以太网适配器与设备(Nexus 6P)配合使用。 该设备通过以太网连接到本地网络。 当 Wi-Fi 接口关闭时,我可以 ping 设备通过以太网连接到的本地网络上的所有设备。 但是,我无法访问该网络(我知道它们正在运行)上任何设备的 Web 服务器(不使用 DNS),即通过浏览器应用程序访问 Http。 nexus 6p 通过 Ubiquiti Station 通过以太网连接到网络。 这似乎是一个路由问题。 我可以在一个应用程序中连接(USB 接口)并使用 Wi-Fi,这让我相信可以使用以太网和 Wi-Fi。 更新2 : 经过更多测试,似乎是权限问题。 由于当我 ping 网络时,设备通过以太网连接,而没有先在终端中运行su网络不存在。 但是,当我运行su然后

2021-06-24 11:14:09    分类:技术分享    android   network-programming

编写一个简单的电子邮件服务器(Writing a simple email server)

问题 我学习创建电子邮件服务器的良好起点是什么? 基本上,我想做的是让服务器(例如 foo.com)为我接收邮件,因此如果我向 (blah@foo.com) 发送电子邮件,它会将电子邮件的内容转储到 /mail/blah/主题,然后将其发送到我的真实电子邮件帐户。 我希望将此作为编程练习,因此指向 RFC 等的链接会很好。 重新发明轮子是了解轮子的好方法。 编辑:随意适当地重新标记。 回答1 编辑:我提供了一些标题并按主题划分了 RFC。 我希望它现在更容易访问。 这是一个相当长的列表,我希望我能更好地格式化它,但不幸的是,仅此而已。 既然你提到你真的不知道你需要什么,让我澄清一下: 如果您只想实现一个位于 MUA(电子邮件客户端)和“真实”服务器之间的简单“代理”服务器,您可能只需实现基本的 SMTP 功能即可。 这将允许您发送消息,即向 MTA 提交消息。 POP3 用于电子邮件客户端从您的服务器中提取消息,而 IMAP 是 POP3 的替代品,具有一些不同的功能集,主要提供一种在线或离线模式,可以被认为是管理远程文件夹(即邮箱)。 MIME 指定存在多部分邮件、附件等的电子邮件内容的格式。 Internet 消息格式(也定义了电子邮件地址格式) http://www.faqs.org/rfcs/rfc822.html http://www.faqs.org/rfcs

2021-06-24 10:40:44    分类:技术分享    language-agnostic   email   network-programming   smtp

如何为 HttpWebRequest 或 WebRequest C# 强制使用 ipv6 或 ipv4(How to force ipv6 or ipv4 for HttpWebRequest or WebRequest C#)

问题 来自 node.js 我可以这样做来告诉 node.js 使用 ipv6 和 ipv4 发出请求 var http = require("http"); var options = { hostname: "google.com", family: 4, // set to 6 for ipv6 }; var req = http.request(options, function(res) { .. handle result here .. }); req.write(""); req.end(); 将family设置为4强制 ipv4,将其设置为6强制 ipv6。 不设置它可以让任何一个工作。 我如何在 C# (.NET 3.5) 中做同样的事情 我可以想到一种方法,即自己为 A 或 AAAA 记录发出 DNS 请求,发出直接 IP 请求并设置host:标头。 有没有更好的办法? 回答1 您可以使用 ServicePoint.BindIPEndPointDelegate。 var req = HttpWebRequest.Create(url) as HttpWebRequest; req.ServicePoint.BindIPEndPointDelegate = (servicePoint, remoteEndPoint, retryCount) => { if

2021-06-24 08:23:46    分类:技术分享    c#   network-programming   ipv6   ipv4

android 6.0.1 在没有互联网访问的情况下强制 wifi 连接(android 6.0.1 force wifi connection with no internet access)

问题 这有许多类似的问题(谷歌搜索:“未检测到互联网访问。不会自动重新连接。”或:android 以编程方式强制 wifi 连接)。 我以为我在这里有答案,但在安装 6.0.1 更新后它停止工作(我有 1 个安全补丁)。 似乎这是一种行为改变。 我有一些 2013 年的 nexus 7 和 6.0.1,它们运行 kiosk 类型的应用程序,并希望以编程方式连接到没有互联网连接的特定无线网络。 每个平板电脑都有一个唯一的静态 IP 地址,格式为:192.168.0.xx。 我使用普通的 java 套接字构造函数并检查接口是否使用:NetworkInterface.getNetworkInterfaces()。 已进行手动连接。 有时会出现一个对话框,询问您是否要始终连接。 我总是检查是。 但 wifi 显示:“未检测到互联网访问。路由器重启电源后不会自动重新连接”。 断开、启用、重新连接不起作用。 充其量它会得到:ip6-localhost/::1。 有没有人有使用请求对象或 bindProcessToNetwork 的运气? 编辑:相关。 编辑:问题似乎出在:CAPTIVE_PORTAL_DETECTION_ENABLED - 这个字符串似乎是在源代码中定义的: public static final String CAPTIVE_PORTAL_DETECTION_ENABLED

2021-06-24 07:06:55    分类:技术分享    android   network-programming   android-wifi   android-6.0-marshmallow

Is a UDP packet guaranteed to be complete, practical sense, if delivered?

Is it a well known fact that UDP (User Datagram Protocol) is not secure, because the order of the packets sent with it may not be delivered in order, even at all. However if an UDP packet is delivered. Are the information in that packet in practical sense (99.99% and above), guaranteed to be correct? Is a UDP packet quaranteed to be complete (not corrupted) if delivered, in practical sense (99.99% and above)? Thanks in advance!

2021-06-24 06:43:47    分类:问答    security   network-programming   udp   packets

DNS client in C

I am currently working on a school project which asks me to implement a DNS client, without using any library functions. I have got to the point where i send a DNS request and Receive the Reply. I'm getting stuck at the parsing of the reply. I receive the reply in a char* array and i want to convert it into some meaningful structure, from which i can parse the answer. I went through the RFC and i read about the packet structure, but implementing it in C is giving me problems. Can anyone give me any examples, in C, or maybe in any other language that explains how this is done. Or any reference

2021-06-24 04:11:50    分类:问答    c   sockets   network-programming   dns

How to calculate a IPv6 CIDR route prefix in SQL?

I've been working on generating a CIDR from ranges of IPv4 and IPv6 addresses using T-SQL running on a SQL Server 2012 instance. Generally our application (outside of the db) is responsible for calculating a CIDR, but I presently have need to do the CIDR calculation in the database. Because IPv6 is too large to store in the bigint datatype we store IP addresses as either binary(4) or binary(16). Calculating the route prefix for an IPv4 range is relatively simple if a little ugly: declare @ipv4_begin binary(4) ,@ipv4_end binary(4) set @ipv4_begin = 0xC0A80000 -- '192.168.000.000' set @ipv4_end

2021-06-24 04:11:25    分类:问答    sql-server   tsql   sql-server-2012   network-programming   ipv6

C++ 开发人员应该知道的关于网络编程的一切?(Everything a c++ developer should know about network programming?)

问题 因此,我正在使用 Boost::Asio(或者只是 Asio,如果您愿意的话)进行大量高性能网络编程,并且对 TCP 和 UDP 协议的基本知识有了非常扎实的掌握。 我想知道,因为尽管我有知识,但我仍然不认为自己是网络专家,什么是构建网络程序员应该知道的基本知识的好方法,特别是对于那些试图推动基于大型网络的性能的人应用程序? 有一篇关于程序员以及他们应该了解的关于内存的很棒的文章(见下文),所以我想知道是否有人将类似的东西放在一起用于网络。 每个程序员都应该了解的有关内存的知识 回答1 一些你应该知道的事情的要点: TCP 的工作原理和原因... 3 次握手、确认、延迟确认、nagling、滑动窗口协议。 这些功能中的每一个都有一个具体的原因……如果处理不当,它们都会破坏应用程序的性能。 UDP 多播……即使您从未想过会使用它,您也需要知道它为什么存在,以便在设计系统时做出明智的决定。 IP 分片,以及 MTU 的影响。 二进制序列化和网络字节排序(即使您只是打算使用 Google proto 缓冲区,也很高兴了解它们为何高效)。 Ascii 序列化和消息框架( \r\n\r\n在 HTTP 中是什么意思?) 不同的 I/O 调度模型:Apache 风格的预分叉、每个连接的线程、基于事件的单线程、基于事件的工作线程等。 网络应用程序中缓冲区溢出漏洞的影响基于协议的设计

2021-06-24 02:56:47    分类:技术分享    c++   network-programming   network-protocols

How to detect unsecured wifi network from iOS App

I would like to detect the presence of unsecured wifi network in my app. Is there any public iOS API available to achieve the same?

2021-06-23 23:37:33    分类:问答    iphone   objective-c   ios   network-programming   wifi

how to create a vpn software

I want to create an application which creates a VPN between some endpoints, something like hamachi and i do not have a starting point. I haven't found any resource to explain how to create such a network application.I want to use c# because i have some experience with it. I really need some help, anything that can put me on the right way. Thanks.

2021-06-23 22:27:22    分类:问答    c#   c++   networking   network-programming