Questions tagged [sockets]

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.

Filter by
Sorted by
Tagged with
0 投票
1 回答
9486 浏览

如何通过 C# 将数据包转发到另一个端口上运行的另一个 TCPClient

如何使用 C# 将数据包转发到另一个端口上运行的另一个 TCPClient。

我是 .Net 中 Sockets 编程的新手。我正在尝试制作一个非常像这个 perl 脚本的 VNC 中继器: http: //snipt.org/wonG但我无法保持我的流连续。

我想要实现的一个例子是:

端口 5500 侦听、检查数据包 RemoteEndPoint,然后将数据包发送回端口 5901。

因为大部分流量被认为是 1 个大的开放流(它不会关闭或发送数据块,它会发送超过 10 分钟的流量)我该怎么做?

有人对如何执行支持大型开放流(会话)的 TCPClient 数据包转发解决方案有任何建议或想法吗?

0 投票
1 回答
408 浏览

TCP 传入数据包记录器

我在书中找不到任何有关制作 tcp/ip 数据包记录器的信息。有人可以指出我正确的方向,或者参考书籍会有所帮助。

0 投票
3 回答
1938 浏览

BufferedReader readLine 每隔两行跳过一次

我正在使用套接字在服务器和客户端之间进行通信。但是出于某种原因,客户端会跳过服务器发送的每一行。

客户代码:

服务器代码:

使用此显示的示例(客户端优先):

服务器:

希望您可以看到,在发送给服务器的第二条 LOGCALC 消息中,服务器做出了响应,但客户端没有收到服务器的响应。

有什么想法吗?

0 投票
2 回答
1097 浏览

UNIX 套接字魔术。推荐用于高性能应用?

我正在寻找使用accept()在进程之间传输 ed 套接字的方法sendmsg()。简而言之,我正在尝试构建一个简单的负载均衡器,它可以处理大量连接而无需缓冲流数据。

在处理大量(比如说数百个)并发 TCP 连接时,这是一个好主意吗?如果重要的话,我的系统是 Gentoo Linux

0 投票
1 回答
1251 浏览

真正的 android 设备上的协议异常不支持地址族

我在这里遇到了一些麻烦,一方面我有一个服务器正在侦听端口 23000,另一方面我有一个作为客户端的 Android 应用程序。虽然使用典型的 10.2....IP 在模拟器(顺便说一下,这是为 2.3.3 构建的)中的连接似乎可以工作,但在尝试三星 Galaxy Tab 时,我继续获得著名的:

“协议异常不支持地址族”

最终,代码如下所示:

尝试打开套接字时失败

不用说,我在我的清单中拥有所需的权限,如前所述,这在模拟器中运行良好。

此外,这不是网络问题,两台机器都连接到使用我手头的路由器创建的无线 Wifi,没有防火墙,代理,完全打开,这样说......

有任何想法吗?

谢谢!亚历克斯

0 投票
1 回答
2222 浏览

允许数百个 TCP 客户端在一两秒内连接

因此,使用我的软件,我在网络上发送了一个发现广播,每个接收到该广播的“客户端”都将通过 TCP 连接到我。就我所拥有的而言,它似乎可以“正常”工作,但我觉得必须有更好的方法。我看到的是我的软件的一些 TCP 连接被拒绝(我认为),因为我目前正在接受另一个套接字。因此,使用我当前的版本,我可以在大约 80% 的时间接受套接字。有时更多,但通常在 80% 左右。其余的都被我的软件拒绝了,我不知道为什么。对我来说,这是不可接受的,但我很讨厌提高这个数字。

这是我用来接受 TCP 客户端并通知我的其他类有关已连接的新套接字的类:

有什么方法可以改进此代码,或者是否有一些完全不同的东西可以改善我同时接受 TCP 连接的结果?

0 投票
1 回答
267 浏览

如何通过套接字发送存储在流中的图像?

如何通过套接字连接在 IStream 接口中发送使用 GdipSaveImageToStream() 存储的图像?

send() 函数需要一个 char 数组,但我不知道如何将数据从 IStream 提取到 char 数组。

使用 memcpy() 会是个好主意吗?将数据存储在 char 数组中并在另一端重建流?

[编辑]

我尝试使用 read 但我错过了一些东西。

[注1:]程序编译并运行,但我没有得到我的图像。如果我使用原始的“myStream”而不是“myStreamR”,它是由从原始流中读取的字符数组构造的,我会得到它。

[注意2:] 输出是两个“OK!”,这意味着所有字节都被复制到数组中,并且都被粘贴到新的流中。但是,我检查了 savedBytes,我发现在 read() 之后它是 0(不好),而在 write() 之后它等于我给的流大小。那么,如果什么都没读,为什么 read() 会给我一个“S_OK”标志呢?

[注3:]我错过了一些东西。

0 投票
3 回答
678 浏览

套接字编程问题

我已经在 Unix OS 上使用 C 中的套接字编程实现了客户端服务器。我在客户端使用了非阻塞套接字。我想实现双向通信。但它只能以一种方式工作,即客户端可以在服务器上读取和写入数据,但服务器不能在客户端上读取或写入数据。

客户

服务器

服务器在阅读时总是面临问题。谁能解释我为什么以及如何摆脱这个?

0 投票
5 回答
50506 浏览

在 C 套接字编程中刷新套接字流

我想知道如何在 C 中进行套接字编程时刷新套接字流。我尝试了所有选项 -TCP_NODELAY使用以下代码设置 -

注意:所有的flagandsockfd都被正确声明了。

send(我在之前)和之后都使用了这个函数,send()但它没有任何区别。

也有人建议shutdown()在每个之后使用,send()但这只适用于一个实例。当我再次使用它发送一些文本时,它不起作用 - 实际上连接在我使用shutdown().

有人可以在这方面提供帮助吗?

我想补充一点——服务器是 Java 套接字,客户端是 C 套接字。C 套接字实现 JVMTI 接口并将信息发送到 Java 套接字。

0 投票
1 回答
1085 浏览

确定未绑定套接字的地址族

当我尝试绑定我的套接字时,我需要在 addrinfo/sockaddr 结构中指定地址族,我将其传递给对 bind() 的调用,否则会收到 winsock 错误 10047(协议族不支持地址族。)

如果我在不知道它的地址族的地方创建了一个套接字怎么办......我怎么能得到那个套接字的地址族,所以我可以绑定它?

getsockname 仅适用于绑定套接字:/...

我不想强迫我的函数的调用者将地址族传递给我的函数,特别是如果她/他/它在创建她/他的套接字时使用 AF_UNSPEC/PF_UNSPEC

(例如SOCKET sock = socket(AF_UNSPEC, SOCK_STREAM, IPPROTO_TCP);


15 30 50 per page
1
2 3 4 5
1498226