如何打开到特定TCP端口的TCP连接,发送字符串并在Lazarus中读取响应?

时间:2014-09-08 15:06:56

标签: sockets tcp lazarus freepascal

如果可能的话,我想在没有外部库的情况下这样做......

我想打开到特定IP地址上特定端口的TCP连接,然后通过发送Ansi字符串进行通信并接收ansi字符串响应。

可悲的是,我不知道从哪里开始,搜索网看起来似乎是非常复杂的例子。

任何人都可以给我任何起点吗?

3 个答案:

答案 0 :(得分:1)

要检查连接是否仍然有效,您可以执行 SocketName.CanRead(Timeout: Integer);

答案 1 :(得分:0)

您可以使用名为Synapse(synapse.ararat.cz)的优秀,免费和多平台库。它内置支持许多协议(ftp,http,POP3,LDAP等),它还允许您实现自己的协议。您只需几行代码即可编写自己的客户端和服务器 - 太棒了!

它具有出色的调试功能,速度快,代码效率高。只需看看HOWTO区域的演示:http://synapse.ararat.cz/doku.php/public:howto

如果您想了解有关使用FreePascal和Lazarus的Synapse的详细信息,请查看:http://wiki.freepascal.org/Synapse

答案 2 :(得分:0)

您可以使用Free Pascal中提供的套接字类。我使用这个类创建了一个简单的项目:

https://github.com/aharoen/tcpipcomp

我添加了三个显示如何使用它的示例:

https://github.com/aharoen/tcpipcomp/tree/master/demo

HTH