Delphi:TTcpServer,读取时重置连接
我正在尝试为delphi实现一个应用程序,但在通信方面有一些问题 Fitnesse将启动我的进程,并给我一个端口号作为命令行参数 然后我应该在给定的端口号创建一个套接字,Fitnesse将连接到该端口 我正在使用TTCP服务器执行此任务: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
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支持之前就夭折了:-/