草庐IT

m_Socket

全部标签

python - 扭曲的 Python : Max Packet Size? 嵌入式 socket ?

我正在为服务器端实现基于Twisted的客户端-服务器解决方案,例如和客户端的Android手机。因为Andoird模拟器不接收大于1500b(或更小?)的TCP数据包,所以我需要能够在服务器端对数据包进行分块。如果没有在每次“transport.write”之后刷新套接字,Twisted会缓冲传出数据,因此如果没有某种手动或自动刷新/maxpacketsize函数,分块将毫无用处。我如何在Twisted中执行此操作?我熟悉“reactor.doSelect(1)”函数,但由于我使用的是EPollreact器(出于可伸缩性和性能原因),我无法使用doSelect。是否可以更改Twist

C# TCP Socket流消息混淆

我正在尝试编写一个C#TCP服务器并连接我的Web应用程序。这是我正在关注的教程。Link我设法启动了服务器,但我从我的网络应用程序收到的消息是加密的。C#代码段usingSystem;usingSystem.Net;usingSystem.Net.Sockets;usingSystem.Security.Cryptography;usingSystem.Text;usingSystem.Text.RegularExpressions;namespaceApplication{classMainClass{publicstaticvoidMain(){TcpListenerserver

python tcp socket - 为什么sendall消息只在close()之后发送

我正在尝试编写perlTCP服务器/pythonTCP客户端,我现在有这样的代码:importsocketsock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)server_address=("127.0.0.1",9000)sock.connect(server_address)try:message=unicode('Test')sock.sendall(message)data=sock.recv(1024)printdatafinally:sock.close()而且我注意到,我的TCP服务器(用perl编写)不是在senda

java - Java的TCP Socket类在发送数据时是否阻塞

当我使用Javaa的Socket类发送一个字节数组时,是否在以下代码块中调用write直到它验证接收方已收到数据?bytedata[]=...;Socketsocket=...;socket.getOutputStream().write(data);//blocking?我问的原因是,如果我有一个要向其发送相同数据的套接字列表,我想尽可能高效地发送它,即有没有比这更好的方法:ArrayListsockets=...;bytedata[]=...;for(inti=0;i 最佳答案 TCP握手发生在connect(2)时间,而不是w

C# Socket TCP 发送,消息获取 "stuck"

这有点奇怪,如果我没有很好地解释它,我们深表歉意。我正在使用以下简单代码发送我从队列中弹出的消息,使用简单的TCP套接字,消息通过本地主机发送到同一台机器上的另一个端口-try{Socket.Select(null,writeList,null,120000000/*120seconds*/);}catch(SocketExceptione){log.Error("Selectreturnedanerrorwaitingtosend..."+e.Message+"Errorcode:"+e.ErrorCode);connected=false;socket.Close();}boolr

c# - C#简单快速实现socket server

我有一个C#命令行应用程序(服务器),它由另一个应用程序(客户端)执行。它只是执行命令并关闭。我正在尝试将这种“运行和关闭”方法转换为“持续运行”的Windows窗体。我将使用套接字作为客户端应用程序与C#服务器通信的一种方式。我的客户端应用程序可以在套接字中通信,但我需要一种快速简单的方法来在C#中集成套接字服务器功能。我曾尝试使用以下内容,但它们似乎都过于复杂而无法集成。您是否知道如何有效地使用这些组件或C#中的任何简单套接字服务器组件?这些看起来很强大,但是很复杂:http://www.codeproject.com/KB/IP/AsyncSocketServerandClien

Delphi TCP Socket Server - 一次广播/回复多个客户端

最近我开始开发简单的flash(flash仅限于tcp)实时多人游戏,我需要一个服务器来提供客户端之间的通信。为此,我决定使用DelphiXE+Indy,但我发现Indy提供了同步通信模型。(我从未使用过任何Indy组件。)到目前为止,我的理解是同步(阻塞)模型限制了并发性,因此使IndyTCP服务器组件不适合实时多人游戏。我的问题是:我应该使用非阻塞通信吗?实现它的最佳工具(组件、类等)是什么?另外,如果您能给我提供使用此工具广播消息的示例(源代码),我将非常非常高兴。-我想立即向特定“房间”的每个成员发送相同的消息(但不向其他房间的成员发送消息。)。附言抱歉我的英语不好(我不是母语

C# TCPClient/Socket 编写不抛出异常

我尝试通过tcp连接连接到许多打印机。我正在尝试验证我的TcpClient是否仍处于连接状态以更新GUI。我正在尝试写入套接字以确保它仍然连接。即使拔下电缆,我也不异常(exception)我尝试了这里的所有建议MSDN_Fourm我在尝试检查打印机状态后收到了预期的异常伪代码client是之前连接过的TCPClientprivateboolFuntionPsudo(){try{if(client.Connected){byte[]buf=newbyte[1];client.Client.Send(buf,0,0);client.GetStream().Write(buf,0,0);i

Java Socket TCP 最大段大小

是否有可能读出连接SYN数据包的TCP“MSS”选项header,或者它是否埋得太深了?谢谢 最佳答案 我很确定是后者。独立于平台的层使您免受TCP堆栈工作的影响。否则会降低Java的可移植性。如果您坚持,您可以选择通过JNI执行套接字I/O。 关于JavaSocketTCP最大段大小,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1863062/

flash - 有没有办法检测到 TCP 连接已被拒绝使用 flash.net.Socket?

有一个flash电影正在使用flash.net.Socket连接到服务器。但是可能会出现服务器未运行的情况,因此套接字连接到的端口上没有任何监听。当我执行“telnethostnameport”时,我得到一个快速连接被拒绝的错误。但是flash.net.Socket不会调用任何事件(见下文),而是静静地等待套接字超时。对我来说,重要的是尽可能减少检测不存在的服务器所需的时间,以便能够重新连接到集群中的另一台服务器。我尝试了以下事件,但无济于事:关闭连接io错误安全错误套接字数据在这种情况下,这些都不会被调用。有没有办法检测到TCP连接已被拒绝使用flash.net.Socket?