问题标签 [system.net.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.
c# - NetworkStream.Read 的缓冲区字节数组大小
我正在尝试学习 TCP(希望很快 UDP)的基础知识来制作一些多客户端应用程序。我注意到我看到的每个示例都有一个像这样的缓冲区:
我注意到它总是为字节缓冲区设置一个大小,并且很好奇这是否是一种要求/更好的做事方式以及为什么这比我写的更好:
.net - Socket.BeginSend( 列表中的部分发送)?
我对System.Net.Socket.BeginSend方法有疑问。
如果在参数SocketFlags.None
中指明,会在被触发之前全部发送吗?socketFlags
buffers
callback
如果上述问题的答案是否定的:该
EndSend
方法只返回已发送缓冲区的字节。如何知道ArraySegment
发送了哪些s?我需要愚蠢地循环缓冲区以找到发送的缓冲区?是否有可能ArraySegment
发送一半?如果上述问题的答案是肯定的:它的大小是否有任何限制
buffers
?如果我buffers
一次发送 10MB 怎么办?
一般来说,我不明白 .NET 如何在ArraySegment
内部处理。发送前缓冲区会ArraySegment
合并成一个大缓冲区吗?
c# - 无协议的 C# SuperSocket
问题很简单:我已经阅读了整个SuperSocket文档,但我不明白是否有一种方法可以在不实现协议的情况下使用它。
我不需要发送特定的命令,而只需要发送一个或数百个字节,这取决于许多因素。我需要更新一个使用简单套接字的旧 TCP 服务器,它是我在 4 年前使用 System.Net.Sockets 库制作的,我想使用像 SuperSocket 一样的井注释库来实现更强大的解决方案。
这是个好主意吗?
先感谢您。
c# - 用于实时聊天的 Net.Sockets、WCF 或 ASP.NET
我想实现我的想法,开发一个具有客户端/服务器端的应用程序,并将客户端连接到服务器,以便他们能够实时传输消息。
所以我将使用 C# 进行开发,但问题是:我应该使用什么?我不知道哪种方法更适合那个聊天。我需要在 Net.Sockets、WCF 和 ASP.NET 之间进行选择。所以我请你帮我做选择。如果我使用 ASP.NET,我将不得不使用 selfhost 的东西,因为我不想创建一个站点或类似的东西来使用聊天。
android - 是否可以在 unity3d for android 中使用 TcpClients?
我正在尝试制作一个通过 Unity 5.4 与我的服务器通信的 andorid 应用程序。设备需要在同一网络中才能执行此操作。
为此,我使用 System.Net.Sockets 和 TcpClient 连接到我的服务器。当我从编辑器中运行它或将其构建为 Windows 独立时,一切正常。托管服务的 pc 和运行独立的不同 pc 之间的通信是可能的,并且可以按预期工作。一旦我将它构建为 .apk 并将其安装在我的智能手机上,我就会得到一个 SocketException。我的手机也卡了很长一段时间
正在使用 TcpClient,这可能在带有 unity3d 的 android 上吗?
我得到的例外是:
我确保两台设备都在同一个网络中,例如我托管服务器的 PC 的 IP 是 192.168.178.24,我的智能手机的 IP 是 192.168.178.113。
所需端口已打开,防火墙允许数据通过。
我在 Unity 中运行这段代码:
我仔细检查了从播放器首选项收到的 IP 地址是否正确,是的。
有人知道是什么原因导致它甚至无法建立连接吗?我在我的电脑上尝试了 Wireshark,它没有显示任何传入的包,所以我的猜测是错误有时是在建立连接期间。
这是我的智能手机日志输出的图像: LogCat 输出
编辑:服务器代码
c# - 创建 websocket 连接时出现 System.Net.Sockets.SocketException
我是 websocket 的新手。我在 .net 4.5 框架中创建了一个控制台应用程序,并使用库“WebSocketSharp”创建了一个示例 websocket 客户端。我有以下代码
但我无法创建与在另一台机器上运行的 websocket 服务器的连接。我收到这样的错误消息
与我的代码相关的问题是什么?有什么好的 websocket 库可用吗?
c# - 如何反转 TcpListener/TcpClient 的角色?
我有一个不寻常的问题,我希望得到意见。我是网络编程的新手,正在通过 System.Net.Sockets 命名空间中的 .NET“TcpListener”和“TcpClient”类学习套接字编程。不过,我需要以不寻常的方式使用它们:我需要能够在计算机 A 和计算机 B 之间建立连接。计算机 A 将运行“TcpClient”类的实例,并尝试打开与计算机 B 的连接它正在运行“TcpListener”的一个实例。这部分看起来很简单。但是,一旦建立连接,我需要转换角色,以便计算机 A 成为等待并响应计算机 B 发送的消息的机器。换句话说,计算机 A 成为服务器,计算机 B 成为客户端。此角色转换必须使用计算机 A 在最初充当客户端时打开的相同连接。我不清楚如何做到这一点,因为我正在阅读的所有示例和(优秀的)书籍“C# 中的 TCP/IP 套接字”总是在其预定义的角色中使用这些类。实际上有办法做到这一点吗?我是否必须下拉到“Socket”类而不是使用更抽象的“TcpListener/TcpClient”类?
c# - Socket.SendFile send big file error 87
I use the standard method of sending a file.
But there is one problem. If the file is large, more than 1.5 GB, then I get an error WSA_INVALID_PARAMETER - 87
How can I fix this and can I even do it or look for another option for sending the file?
c# - IOControl 上的 System.Net.Sockets 异常
在 Windows 7(.Net 4.6.1)上,这段代码出现异常:
System.Net.Sockets.Socket.IOControl(Int32 ioControlCode, Byte[] optionInValue, Byte[] optionOutValue) 中引用的对象类型不支持尝试的操作
这适用于我的 VM 上的 Windows 8。