我在Lazarus上使用Synapse库,我尝试在两个不同的IP地址之间切换TCPBlockSocket
连接。
我用:
创建Socket连接mySocket:=TTCPBlockSocket.Create
然后我用:
连接到第一个IP地址mySocket.Connect(firstIPaddress,portNumber);
这很好用,但如果我尝试用
切换到第二个IP地址mySocket.Connect(secondIPaddress,portNumber);
我通过mySocket.SendString()
发送的所有数据仍然会发送到firstIPaddress
。
我已尝试.Destroy
mySocket
并重新创建它但我遇到了崩溃(我检查是否已分配mySocket
,是否在重新创建{.Destory
之前执行了TCPBlockSocket
{1}}对象 - 但无论如何这看起来有点严重。
是否有正确的方法断开连接,然后将现有的TCPBlockSocket
重新连接到其他IP地址?
是否有一种简单的方法可以测试TCPBLockSocket
是否具有有效且有效的连接?
答案 0 :(得分:1)
当你找到它时很明显......
在使用新的IP地址和端口呼叫mySocket.CloseSocket()
之前,您需要致电.Connect
。
(仍然有问题,检查打开的连接是否仍然打开并正常工作 - 根据我对OP的评论)