草庐IT

TCP-Socket

全部标签

c# - 帮助windows TCP端口通信

我刚开始了解进程间通信的工作原理。我在我的本地机器上使用两个应用程序,一个源应用程序和一个服务器应用程序。源应用程序通过我电脑上配置的端口广播文件。服务器应用程序监听这些文件并将它们公开到互联网供用户流式传输。我想从等式中删除服务器应用程序并编写一个新的应用程序来与源应用程序通信。到目前为止,我的应用程序已连接到端口并正在监听。我能够从端口接收消息。我收到的消息似乎是元数据,没有文件。我的假设是服务器应用程序在获取此元数据信息以获取文件后发送响应。因此我的应用程序需要模仿服务器应用程序。但是我不知道如何响应源应用程序的端口。1)是否有一种工具可以用来监控源应用程序和服务器应用程序之间的

c++ - 如何使用此 SOCKET 调用 Poll()?

SOCKETserver=socket(PF_INET,SOCK_STREAM,0);bind(server,7.7.7.7,sizeof(7.7.7.7));listen(server,0);server.Poll(1,SelectMode.SelectRead);errorC2228:leftof'.Poll'musthaveclass/struct/uniontypeIP不一样,但3个函数可以正常工作,创建一个服务器可以监听并向客户端发送数据的套接字。我想轮询客户,usingthisexamplebutinC++.我可以在Poll()中使用哪个对象或结构?

c++ - socket编程与windows和unix/linux的混淆

您好,我正在尝试使用C++进行套接字编程。我需要确认或拒绝这个逻辑。我认为socket.h头文件是为UNIX系统设计的,而对于Windows,一切都是通过winsock.h完成的。这是正确的吗? 最佳答案 对于Windows,您需要winsock2.h和ws2tcpip.h。在Linux上,您需要sys/socket.h和sys/types.h用于套接字函数和netinet/in.h用于IP相关结构。其他一些区别:Windows使用SOCKET作为套接字描述符,而Linux使用intWindows有closesocket()来关闭套

C++ socket的send()导致系统错误10053

我正在尝试从我的客户端向我的服务器发送一条消息(目前它们都在同一个进程中运行,但我认为这不重要)。连接建立良好(我可以通过“CurrPorts”看到它-比TcpView用户友好得多)。但是,当我发送消息时,出现错误:“已建立的连接已被主机中的软件中止。”(编号10053)然后连接中断...相关代码如下:boolClient::Send(void*msg,intsize){intsockId=m_socket.GetId();structsockaddr_inremote=m_socket.GetRemotePoint().GetBasePoint();constchar*buf=(co

windows - 为什么 Windows 上的 Perl IO::Socket 在 64 个连接后提示 "Resource Not Available"?

我在Windows下使用Perl创建了一个服务器(ActivePerl5.10.1build1006),它在连接时fork,接受一些JSON数据,并将其写入数据库。在64个客户端连接到服务器后,我遇到了一个问题,在尝试fork时出现错误消息“资源不可用”。在Linux下运行这段代码,我发现有许多已失效的子进程,通过在父进程上添加wait()调用解决了这个问题。然而,这并没有解决问题。在Linux下运行代码可以超过Windows允许的64次调用。我还启动了一个虚拟Windows服务器,以防服务器受到限制,但全新安装的Perl导致了相同的64个连接限制。欢迎任何想法。useIO::Sock

c++ - tcp 连接上的 recv() 问题

我正在用C语言在Windows上模拟TCP通信。我有发送者和接收者在通信。发送方向接收方发送特定大小的数据包。接收方获取它们并将收到的每个数据包的ACK发送回发送方。如果发送方没有收到特定的数据包(它们在数据包内的header中编号),它会再次将数据包发送给接收方。这是接收方的getPacket函数://getthenextpacketfromthesocket.setthepacketSizeto-1//ifit'sthefirstpacket.//return:totalbytesread//return:0ifsockethasshutdownonsenderside,-1err

c++ - POSIX 套接字 VS Web 套接字 VS Windows TCP/IP 套接字

我是网络编程的新手,对WebSockets感到困惑这似乎是一项相当新的技术并且POSIXSocketProgramming已经存在了几十年,WindowsTCP/IPSocketC++.它们到底有什么区别???,在我看来,这三个都与客户端和服务器之间的所有套接字连接相同。谁能给我解释一下,谢谢!!! 最佳答案 C套接字API是用于创建基于流的套接字(TCP套接字、UNIX域套接字)和基于数据报的套接字(UDP套接字)的低级机制。为此,POSIXAPI和WindowsAPI略有不同(有时以微妙的方式……Windows具有许多POSIX

python - 如何在 Windows 上模拟 socket.socketpair

标准Python函数socket.socketpair不幸的是,它在Windows上不可用(从Python3.4.1开始),我如何编写一个同时适用于Unix和Windows的替代品? 最佳答案 Python3.5包括对socket.socketpair()的Windows支持。对于Python2.7+,您可以使用backports.socketpairpackage(我在PyPi上创作的):importsocketimportbackports.socketpairs1,s2=socket.socketpair()

c++ - 如何使用win32编写socket通信程序

想学习win32套接字编程的新人。我了解一点MFC,但这不是开始的好点,因为它只是隐藏了程序员的内部细节。 最佳答案 使用winsock函数(Winsock2.h)。 关于c++-如何使用win32编写socket通信程序,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/558028/

S7-1200和1500PLC与条码枪建立TCP_IP通信的具体方法示例

S7-1200和1500PLC与条码枪建立TCP_IP通信的具体方法示例今天和大家分享西门子S7-1200和1500PLC如何获取条码枪的扫描数据,这种案例中一般PLC作为TCP/IP的客户端(只接收数据,不发送数据),条码枪作为TCP/IP的服务器。如下图所示,在指令—通信—开放式用户通信中可以找到相关的通信指令,这里可以看到有TRCV_C和TRCV两个接收指令,这两者的区别是TRCV_C是建立连接并接收数据集成在一起的,而TRCV是没有建立连接,只负责接收数据的。我们这里使用TRCV_C来举例说明:如下图所示,我们拖拽TRCV_C指令到OB1中,此时系统会自动生成一个背景DB块,点击确定即