Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi:TTcpServer,读取时重置连接_Delphi_Sockets_Fitnesse_Ttcpserver - Fatal编程技术网

Delphi:TTcpServer,读取时重置连接

Delphi:TTcpServer,读取时重置连接,delphi,sockets,fitnesse,ttcpserver,Delphi,Sockets,Fitnesse,Ttcpserver,我正在尝试为delphi实现一个应用程序,但在通信方面有一些问题 Fitnesse将启动我的进程,并给我一个端口号作为命令行参数 然后我应该在给定的端口号创建一个套接字,Fitnesse将连接到该端口 我正在使用TTCP服务器执行此任务: TcpServer1.LocalPort := ParamStr(ParamCount); TcpServer1.Active := true; 在OnAccepted()-事件中,我发送要使用的协议版本,如规范中指定的 procedure TForm1.T

我正在尝试为delphi实现一个应用程序,但在通信方面有一些问题

Fitnesse将启动我的进程,并给我一个端口号作为命令行参数

然后我应该在给定的端口号创建一个套接字,Fitnesse将连接到该端口

我正在使用TTCP服务器执行此任务:

TcpServer1.LocalPort := ParamStr(ParamCount);
TcpServer1.Active := true;
在OnAccepted()-事件中,我发送要使用的协议版本,如规范中指定的

procedure TForm1.TcpServer1Accept(Sender: TObject;
  ClientSocket: TCustomIpClient);
var
  s: ansistring;
begin
  ClientSocket.Sendln('Slim -- V0.0', #10);
  setLength(s, 6);
  ClientSocket.ReceiveBuf(s, 6);
end;
调用ReceiveBuf()时,进程结束,fitnesse抛出异常:

java.net.SocketException: Connection reset
我过去常常看到发送和接收的内容。它表明,在我的代码发送协议版本后,fitnesse会发回一条消息,并且当我尝试接收此消息时,连接会重置

有人知道这是什么原因吗? 我做错什么了吗


顺便说一句,当我使用fitnesse附带的java slim服务器时,一切正常。oSpy随后显示相同的通信,直到第一次读取。虽然我的读取尝试失败,但这一个仍能正常工作。

请查看此网站的+源代码。

嗨,Vegar,我已经编写了Fitnesse Slim服务器。但我用的是印地组件。它适用于Fitnesse Wiki中的所有测试用例,但我不支持运行时包。对我来说,这是对Delphi2010新Rtti特性的测试。所以它只能用Delphi2010编译。我非常有兴趣分享我的代码以获得一些反馈。因此,如果您愿意或其他任何人在此处留下便条。@Vegar,我找不到向其他stackoverflow.com用户发送私人消息的方法,那么我可以向您主页上的信息发送电子邮件吗?我明天将发送消息来源。@Heinz:联系人已建立:-)恐怕该项目在获得slim支持之前就夭折了:-/