草庐IT

c - 拆分 TCP 流上的 Winsock2 错误 10014

先写代码DWORDWINAPItcp_t(LPVOIDlpParam){SOCKETtcp_client_s=(SOCKET)lpParam;structsockaddr_intcp_client;inttcp_client_len=sizeof(tcp_client),length;charreq[4096],resp[4096];getpeername(tcp_client_s,(structsockaddr*)&tcp_client,&tcp_client_len);cli_log(PROTO_TCP,LOG_SYS,"(%s:%d)TCPthreadspawned\n",ine

Erlang:Client ip-address, 向特定客户端发送数据包?

有没有办法在Erlang中为tcp连接获取客户端的ip地址?基于客户端连接到服务器的假设?我还想知道是否有必要向特定客户端发送特定数据包;就像服务器没有广播的情况一样,但是我需要ip地址来将数据包发送到特定的客户端,还是服务器只是为每个客户端使用一个引用(erlang:monitor)? 最佳答案 对于另一端的地址,inet:peername(Socket).然而,如果你想处理TCP对话中的每个客户端,一旦每个客户端连接,通常,你会产生单独的erlang进程来处理它,然后TransfertheSocketOwnership到产生的过

c - 我必须向服务器发送哪些参数?

我无法向服务器发送有效请求。我有这个协议(protocol)描述,但我不明白我必须用socat将什么东西发送到服务器。headerMustalwaysbetransmittedinfull,evenifthecommanddoesnotrequireanyparameters.commandThisisasingleletterwhosecaseisimportant(commands'A'and'a'areverydifferent,indeed,forexample).Itis8bitinsize.param1Thisisa16bitnumericparameter.Itisinn

c# - 使用 TCP 客户端接收多个文件

我想创建一个TcpClient,它可以根据名称自动从服务器获取多个文件。我想了解如何构建此类应用程序。我的想法是:制作一个包含SwitchCase的for循环,我在其中指定我的文件名。我真的不知道这是否会奏效。要跳出for循环,我可以将索引运算符与文件数进行比较。如果它们相等,那么我就退出for循环。我的想法示例:for(inti=1;i 最佳答案 要使用ftp下载文件,您可以使用FtpWebRequest对于http使用HttpWebRequest.下面是一个简单的示例,说明如何使用http请求文件(方法与ftp类似):publi

C# 套接字 TCP 客户端/服务器

我有一个客户端和一个服务器,我试图通过我的本地网络(127.0.0.1)与彼此通话。首先,我启动“服务器”应用程序:publicoverridevoidStartListening(intport,IPAddressaddress){listenClient=newTcpListener(address,port);listenClient.Start();listenDelimiter=newIPEndPoint(address,port);if(listenThread!=null)listenThread.Abort();listenThread=newThread(newPar

java - 简单的服务器/客户端套接字连接?

我正在编写一个java套接字,服务器在其中运行,客户端连接到服务器,服务器可以从客户端命令行读取数据。首先我想连接到服务器,代码如下:publicclassServer{publicstaticvoidmain(String[]args)throwsIOException{ServerSocketserverSocket=null;try{serverSocket=newServerSocket(10000);}catch(IOExceptione){System.err.println("Couldnotlistenonport:4444.");e.printStackTrace()

ruby - 为什么 ruby​​ 无法在我的 Fedora 20 机器上打开 TCPSocket?

我在Fedora20上使用ruby​​2.1.0。我有来自ruby-doc的以下代码.require'socket's=TCPSocket.new'localhost',2000whileline=s.gets#Readlinesfromsocketputsline#andprintthemends.close#closesocketwhendoneRuby抛出以下错误:client.rb:3:in`initialize':Connectionrefused-connect(2)for"localhost"port2000(Errno::ECONNREFUSED)fromclient.

C# 套接字 : Client Mishandle 'a' as the Client's id

有两个我制作的程序无法运行。有服务器和客户端。服务器通过给用户一个ID(从0开始)来接受许多客户端。服务器根据服务器的ID将命令发送到特定的客户端。(示例:200个客户端连接到1个服务器。服务器选择的ID为“5”,因此服务器将向所有客户端发送命令,客户端将询问服务器他想在哪个ID上执行命令,如果它是“5”,则该客户端将执行并将数据发送到服务器)。客户端有很多命令,但为了创建具有相同错误的最小代码,我只使用了1个命令(dir)。基本上,服务器将命令发送给客户端,如果它与客户端当前ID和服务器当前ID匹配,它将处理该命令。默认情况下,服务器的当前ID是10。以下是帮助想要回答的人的命令列表

Java找不到符号

我在Applet模式下制作一个TCP客户端,我得到了这个奇怪的错误......C:\Users\Dan\Documents\DanJavaGen\ClientApplet.java:20:cannotfindsymbolsymbol:methodprintStrackTrace()location:classjava.lang.Exceptione.printStrackTrace();^1errorToolcompletedwithexitcode1代码:importjava.io.*;importjava.applet.Applet;importjava.net.*;importj

c++ - 处理 TCP 流

我们的服务器似乎是基于数据包的。它是对旧的基于串行的系统的改编。多年来,它已被添加、修改、重建等。由于TCP是一种流协议(protocol)而不是数据包协议(protocol),因此有时数据包会被分解。ServerSocket是这样设计的,当Client发送数据时,部分数据包含我们消息的大小,如55。有时这些数据包被分成多个部分。它们按顺序到达,但由于我们不知道消息将如何拆分,我们的服务器有时不知道如何识别拆分消息。所以,已经为您提供了背景信息。如果数据包被拆分,重建数据包的最佳方法是什么?我们正在使用C++Builder5(是的,我知道,旧的IDE,但这就是我们目前可以使用的全部。在