草庐IT

socket_nxt

全部标签

windows - 适用于 Windows 的双 socket

在Unix上,一个套接字可以同时用于IPv6和IPv4(双模式)。在Windows上,这是不支持的。有没有人有针对Windows使用相同套接字实现相同解决方案的解决方案。 最佳答案 检查http://msdn.microsoft.com/en-us/library/bb513665(VS.85).aspx:双栈套接字为了在带有ServicePack1(SP1)的WindowsXP和WindowsServer2003上同时支持IPv4和IPv6,应用程序必须创建两个套接字,一个套接字用于IPv4,一个套接字用于IPv6。这两个套接字必

c# - 在没有 System.Net.Sockets 的情况下将 Unity 连接到 C++ WinSocket

Windows10、Unity5.5.2-请注意,这隐含地将.Net限制为3.5版。我有一个C++应用程序,我正尝试通过无线方式连接到Unity应用程序。我希望不断地将字节数组从C++发送到Unity。问题是,对于我希望部署到的设备(在我的例子中是Hololens),System.Net.Sockets不可用。在C++中,我使用Winsock2.hheader实例化了一个套接字。我可以使用UDP或TCP,这对我的应用程序没有影响。在Unity中,我希望使用Unity.Networking或UWP来建立连接。要使用UWP,我只见过使用async关键字的示例,这在Unity中使用起来很头疼

c# - socket 应该保持打开还是拆除

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:ShouldIcloseasocket(TCPIP)aftereverytransaction?假设我有某种使用套接字的进程间通信。我的进程是否应该建立连接并保持打开状态(每个客户端1个线程或类似线程)在需要时发送数据;或者是一种更好的方法来简单地建立连接,发送我想要的数据,关闭它并再次进入我的等待状态?解决这个问题的方法通常是什么?

c# - 将 Socket.ReceiveAsync 替换为 NetworkStream.ReadAsync(可等待)

我有一个应用程序可以同时建立几百个TCP连接,并从它们接收源源不断的数据流。privatevoidstartReceive(){SocketAsyncEventArgse=newSocketAsyncEventArgs();e.Completed+=receiveCompleted;e.SetBuffer(newbyte[1024],0,1024);if(!Socket.ReceiveAsync(e)){receiveCompleted(this,e);}}voidreceiveCompleted(objectsender,SocketAsyncEventArgse){ProcessD

c# - Visual Studio 2010 不会在 Socket.BeginReceive() 回调中出现未处理的异常时停止 - 为什么?

通常,当附加调试器时,VisualStudio2010会在未处理的异常处停止,即使“异常”对话框的“抛出”列中没有异常类型的勾号也是如此。这里的关键词是unhandled;表示dialog仅指已处理的异常。但是,在下面的最小示例中,VisualStudio2010并没有在我的异常处停止,即使它作为第一次机会异常出现在立即窗口中也是如此:编辑:我发布的第一个最小示例由我收到的第一个答案修复,但不幸的是,以下示例仍然存在问题:usingSystem;usingSystem.Net.Sockets;namespaceSocketTest{classProgram{staticvoidMain

c# - 是否可以在 Socket 和 TcpClient 对象之间进行转换?

这是另一个C#/.NET问题,只是出于好奇而不是直接需要...如果你有一个Socket实例,并且你想将它包装在更高级别的TcpClient类中,这可能吗?你会怎么做?反过来,如果你有一个TcpClient的实例,是否有可能获得底层的Socket? 最佳答案 IfyouhadaSocketinstanceandyouwantedtowrapitinthehigher-levelTcpClientclass,isthatpossibleandhowwouldyoudoit?Socketsocket=...;TcpClientclient

C# UDP Socket 客户端和服务器

我的第一个问题。我是这种编程的新手,我只编写过.NET网站和表单。现在,我工作的公司要我制作一个ActiveX组件,用于监听UDP消息,并将它们转化为事件。UDP消息是从Avaya系统发送的,所以我被告知要测试我的ActiveX,首先我需要创建一个应用程序,它只发送UDP(只有一个按钮发送预定义的UDP字符串)。然后创建监听器套接字,普通的C#应用程序,它将从测试应用程序获取那些传输的UDP字符串。这两个应用程序将在同一台机器上运行。稍后,当我开始工作时,我需要让监听器成为一个ActiveX组件,但首先要做的是。我想知道是否有关于此的任何好的教程,以及关于如何开始的任何想法?很抱歉我的

c# - Socket.BeginReceive 在 Mono 上的性能

我正在用C#开发服务器。该服务器将充当备份服务的数据服务器:客户端将发送数据,大量数据,连续,特别是将发送文件数据block,最多五个,在同一个tcpchannel中。我会慢慢地向服务器发送数据,我不想杀死客户带宽,所以我不需要在最大数据发送时加速,因此,我可以为所有事情使用一个单一的tcpchannel。说到这里,其实服务端是使用BeginReceive方法从客户端获取数据的,在windows上就是IOCP。我的问题是:BeginReceive将如何通过mono在linux/freebsd上执行?在Windows上,我读了很多东西,性能很好,但是这个软件,服务器部分,将通过单声道在l

c# - Socket.Receive 什么时候返回数据?

又是初学者问题:有点像我不久前提出的问题的跟进。我正在尝试理解这个同步套接字教程http://msdn.microsoft.com/en-us/library/6y0e13d3.aspx,尤其是下面代码中的一行。问题:我想确保我正确理解程序流程。什么时候handler.Receive(bytes)返回?当它“溢出”并接收到超过1024字节时,它是否返回并存储接收到的字节数在intbytesRec**中?**如果是这样的话,这听起来可能很愚蠢,如果在*data*变量中存储1024个字节而不是监听更多字节时到达更多字节会发生什么那可能会在那个时候到达?还是我不应该担心,让.net来处理?S

c# - 程序退出后 TcpListener Socket 仍然有效

我正试图在我的程序退出时停止TCP监听器。我不关心套接字或任何事件客户端套接字上当前事件的任何数据。套接字清理代码本质上是:try{myServer.Server.Shutdown(SocketShutdown.Both)}catch(Exceptionex){LogException(ex)}myServer.Server.Close(0)myServer.Stop()myServer是一个TCPListener在某些情况下,Shutdown会抛出异常System.Net.Sockets.SocketException:发送或接收数据的请求被禁止,因为套接字未连接并且(当使用send