问题标签 [tcpclient]

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.

0 投票
1 回答
3301 浏览

c# - 使用 TcpClient 和 TcpListener 后的混乱字节数组

我想使用 TcpClient 和 TcpListener 通过网络发送 mp3 文件。我使用套接字实现了一个解决方案,但存在一些问题,所以我正在研究一种新的/更好的发送文件的方法。

我创建了一个如下所示的字节数组:length_of_filename|filename|file

然后应该使用上述类进行传输,但在服务器端,我读取的字节数组完全混乱,我不知道为什么。

我用来发送的方法:

然后在服务器端它看起来如下:

谁能看到我遗漏/做错的事情?

0 投票
3 回答
1809 浏览

c# - 我如何判断 NetWorkStream 何时完成使用 .net TcpClient 进行通信

我尝试使用stream.DataAvailable来判断它是否完成,但有时该值是假的,但过了一会儿又是真的,我必须设置一个计数器并通过符号'>'判断结束像这样

有什么好的方法来处理吗?谢谢!

0 投票
2 回答
19601 浏览

c# - NetworkStream 和 TcpClient 有多少缓冲区?

我们正在编写一个 TCPServer 和 Client 程序。TcpClient 缓冲区中有多少空间?比如,它会在什么时候开始丢弃数据?我们正在尝试确定 TcpClient 是否可以阻塞,或者它是否应该进入它自己的后台线程(这样缓冲区就不会被填满)..

0 投票
1 回答
662 浏览

c# - 我的服务器有一个黑洞(TcpClient、TcpListener)

我正在尝试构建一个服务器,它将接收客户端通过网络发送的文件。如果客户端决定一次发送一个文件,那没有问题,我会按预期收到文件,但如果它尝试发送多个文件,我只会收到第一个文件。

这是服务器代码: 我为每个连接的客户端使用一个线程

以下代码是 ClientHandler 类的一部分

在第一次迭代中,我收到了第一个文件,但之后我什么也没有收到。我尝试在每次迭代结束时使用 Thread.Sleep(1000) ,但没有任何运气。

另一方面,我有这个代码(对于客户)

上传方法:

netStream (NetworkStream) 在 Connect 方法上打开,在 Disconnect 上关闭。

黑洞在哪里?我可以发送多个对象吗?

谢谢你的时间。

0 投票
2 回答
1531 浏览

delphi - 如何从 Delphi 传递一个 cstring

我正在为具有一系列定义为 c 结构的消息的服务器在 Delphi 中编写一个 tcp 客户端。以下是其中一条消息的转换示例:

谷歌搜索类型告诉我 cstring 与我希望在这种情况下传递的标准 char 数组不同,但我似乎无法找出 cstring 的内部表示。

我将如何在记录中表示 cstring 以传递给服务器?

0 投票
2 回答
2337 浏览

cocoa - 可可 NSStream TCP 连接到 FTP

我是 Cocoa 的新手,但不是编程新手。最近我决定要为 Mac 编写一个 FTP 客户端,所以我首先用我最熟悉的语言(在 Windows 上)编写它,然后当我的 FTP 通信工作失败时转向 Cocoa。

我的问题(显然)有点争议:如何建立到(ftp 服务器)的读/写连接?

到目前为止我所拥有的(显然没有工作):

部分基于http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/Streams/Articles/NetworkStreams.html 现在,我为什么选择 NSStream?因为虽然这个问题只是关于如何连接到 FTP 流,但我的整个项目也将包括 SSL,而且据我在这里和谷歌上搜索到的,NSStream 能够“切换”到 SSL 连接。

我无法看到正在建立的连接(我通常能够做到),但我也听说过必须在流打开之前写入流?

任何指针都非常感谢,如果我的问题很烦人,我很抱歉 - 我是 Cocoa 的新手 :)

0 投票
1 回答
6581 浏览

c# - TcpClient BeginRead/Send 线程安全吗?

如果我在关联的网络流上TcpClient调用了异步,则使用 .NET我仍然可以在另一个线程上调用该流吗?BeginRead()Write()

还是我必须lock()TcpClient从 回调BeginRead的代码和发送的代码中?

另外,如果我关闭TcpClient

我也必须这样lock()TcpClient吗?

0 投票
2 回答
1609 浏览

c# - TCP 连接创建和关闭事件挂钩

C# 提供了哪些帮助程序类来监视操作系统上的所有 TCP 连接。一段示例代码也将不胜感激。

注意:最初的意图是在 Windows 上监控这一点,但在其他使用 .Net Core 的操作系统上做同样的事情会很好。

0 投票
4 回答
84617 浏览

c# - 如何从负载均衡器后面获取客户端的 IP 地址?

我正在使用 TcpClient 在端口上侦听请求。当请求来自客户端时,我想知道发出请求的客户端 IP。

我试过了:

所有这些地址都输出 10.xxx 地址,这些地址是私有地址,显然不是我网络外发出请求的客户端的地址。我该怎么做才能获得发出请求的客户的公共 IP?

编辑: 我们正在使用带有 tcp 转发的 Amazon EC2 负载均衡器。有没有办法在这个设置中获得真正的客户端 IP?

0 投票
4 回答
12536 浏览

c# - 如何在 C# 中使用 Tor 控制协议?

我正在尝试以编程方式向 Tor 控制端口发送命令以使其刷新链。我无法在 C# 中找到任何示例,并且我的解决方案不起作用。请求超时。我的服务正在运行,我可以看到它正在侦听控制端口。

谁能发现我做错了什么?

编辑:

按照 Hans 的建议(由于某种原因他现在已将其删除),我尝试发送“AUTHENTICATE\n”而不仅仅是“AUTHENTICATE”。现在我从 Tor 收到一个错误:“551 无效的引号字符串。您需要将密码放在双引号中。” 至少有一些进展。

然后我尝试发送“AUTHENTICATE \”\“\n”,就像它想要的那样,但它在等待响应时超时。

编辑:

该命令在 Windows Telnet 客户端中运行良好。我什至不必添加引号。无法弄清楚出了什么问题。也许双引号在发送时没有正确编码?