问题标签 [sendto]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sockets - 使用接口名称设置 IP_MULTICAST_IF 时 sendto 中的参数无效
我正在编写一个发送和接收多播数据包的小程序。我需要使用其名称(例如 eth0)而不是其地址来设置传出接口。因此我必须使用 struct ip_mreqn(而不是 struct in_addr),以便我可以使用它的 imr_ifindex 字段来设置接口索引(我可以使用接口的名称来获取)。
但是由于某种原因它不起作用。对 setsockopt() 的调用工作正常,但对 sendto() 的以下调用返回“无效参数”错误。当然,如果我用 in_addr 替换 ip_mreqn 并改用接口的地址,错误就会消失。
以下是我的代码:
设置 IP_MULTICAST_IF 时使用 struct ip_mreqn 有什么问题吗?有人知道吗?非常感谢帮助。谢谢。
请注意,目标端口和地址已经按网络字节顺序排列。
c - 发送:无效参数
我对这行代码有疑问。我必须将一个数据包带到一个端口并重新发送到接口(例如:eth0)。我的程序成功地从端口获取数据包,但是当我重新发送(使用send()
)到接口时出现错误:
发送:无效参数
代码行是:
buff是我从端口获取的数据包!错误在哪里?
c# - How I can use windows's SendTo option in my C# Application using datagridview
i am listing files from directories on click on that specific folder name, when files show in datagridview. Now using context menu i want to add this sendto option in that context menu and want to send that file to any removable media.
linux - 发送到 pid 和组
我试图从 linux 上的 strace 中理解这一行:
我在网上和有关 sendto 的手册页中查看过,但我没有看到 pid 和组的参考。未提及事件 AF_NETLINK。
pid 和 groups 参数是什么意思?我在哪里可以找到有关此功能的正确文档?
谢谢
c++ - 为什么 VxWorks 中的 sendto() 和 send() 函数中的缓冲区类型不同,如何以相同的方式处理它们?
在 VxWorks 中,sendto() 定义为:
send() 定义为:
我的问题是 sendto() 中的缓冲区不是恒定的,而 send() 中的缓冲区是。这似乎不符合 POSIX 标准。我还在编写我的代码以进行交叉编译,因此缓冲区作为 const void* 而不是 const char* 传入。如果不一样,我可以通过调用以下函数来使函数执行类似的操作:
似乎应该有一个更优雅的解决方案来在同一条数据上使用这两个函数。
同样重要的是要注意,虽然这可能有效,但我可能需要从我的代码中删除所有类型转换。有没有办法在没有类型转换、隐式或显式的情况下解决这个问题?
udp - 为什么当输入数据大小增加一点时 udp sendto 会变得如此缓慢?
我有一个奇怪的问题。我在android上做了以下测试:
我=0;
而(我< PACKET_NUMBER)
{
//UDP发送数据包
if( sendto(sockfd,buffer,strlen(buffer),0, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) <= 0)
{
error("通过udp向远程主机发送数据包失败\ n");
}
我++;
}
我用不同的缓冲区大小做了这个测试。当缓冲区大小小于一个数字(应该在 500 字节左右)时,无论我选择哪种大小,例如 20 40 80 160 320 ,while 语句都可以在几乎相同的时间内执行,例如 3 分 10 秒。但是,当数据包大小大于 500 时,例如 510 520 600 1280,while 语句的执行时间要长得多,例如超过 10 分钟。谁能给我一些关于原因的提示?
windows - “发送到”一个文件夹到一个未按预期运行的批处理脚本
我有一个简单的批处理脚本take.cmd
然后我在C:\Users\abc\AppData\Roaming\Microsoft\Windows\SendTo
文件夹中创建了一个快捷方式。特别是快捷方式而不是批处理脚本本身,以便我可以以管理员身份运行它(右键单击>属性>高级>以管理员身份运行)。
现在,当我右键单击一个文件夹并将其发送到我创建的快捷方式时,它会提示许可.exe 按预期请求权限,但是它没有运行批处理脚本,而是显示一个错误,提示“文件名/语法不正确”(它闪得很快,我几乎看不出来)。
奇怪的是,如果我从它按预期运行的快捷方式中取消选中“以管理员身份运行”(即回显路径)而没有提升提示。
选中“以管理员身份运行”时可能导致错误的原因是什么?
c - Sendto() still return me 0 bytes sent
Some days ago i wrote a post about an error returned from sendto() . It returned me 0 bytes written tough i pass a non-null value as length.
This is my code. the ip_hdr and tcp_hdr structs are my structs to make a simple ip and tcp header. It's so weird.It always worked in other softwares . Please help me.
windows - 通过 windows sendto 的脚本因超过 20 项而失败
我制作了一个小脚本,这样我就可以在资源管理器(在 Windows XP 上)中选择一些文件,右键单击,然后发送到。该脚本最多可处理 20 个文件,但在选择 21 个或更多文件时会失败。为什么以及如何解决这个问题?
当我拖放或使用 sendto 菜单时:<20 个文件,并且命令按预期运行正常,但 >20 并且我得到“Windows 无法访问指定的设备、路径或文件。您可能没有适当的权限访问该项目。” 我已经检查并更改了权限,权限似乎不是问题。
c - sendto 在 Mac OS X 10.8 上返回 EINVAL
我有一个程序可以在 Mac OS 10.6 上正常工作,但在 10.8 中莫名其妙地失败了。它的要点是 sendto 现在返回 -1 并将 errno 设置为 EINVAL (22)。怎么了?