一直以来,都没有一个较好的TwinCAT服务器程序,现在来实现稳定的TCPIP程序!
首先,对于TCPIP来讲,服务器实现的是一个服务器可以允许多个客户端的连接,而客户端只能去链接一个服务器,客户端的IP地址只需要和服务器的IP地址在同一网段就可以了。
服务器需要明确具体的IP地址和端口号,客户端只需要管服务器的信息,自己的端口号是自动分配的,具体是多少就不好判断了。
服务器的运行过程
服务器需要指定具体的IP地址和明确的端口号,指定好后,开始监听,监听的过程中等待客户端的主动链接,客户端发出链接的请求,这时候,服务器接受客户端的请求,这时候,就可以实现数据的交互了;
根据服务器接收客户端的数据是否出现错误可以判断客户端是否断开,当客户端断开后,服务器则需要等待客户端的再次主动链接了,此时应该链接断开的客户端释放掉。
服务器的设计思路
了解服务器的运行过程,为了降低难度,现在以客户端的角度来设计服务器;
如果一台电脑作为服务器,需要链接多个客户端的应用,可以以不同的服务器端口号来区分不同的应用,而且数据交互的链接,只保留最新一次的链接。
数据的交互过程,就变得简单了!
具体实现:
1.指定网卡,开启监听
定义监听的功能块:
fbSocketListen : FB_SocketListen;
实现功能块:
执行过程:
2.等待客户端的链接请求,判断是否存在客户端的链接
功能块的定义:
fbSocketAccept : FB_SocketAccept;
实现功能块:
执行过程:
3.当客户端链接成功后,就可以实现数据的收发
发送数据到客户端:
发送数据到客户端是主动执行的,功能块的实现方式如下:
从客户端接收数据:
接收客户端的数据是只要客户端链接功能后就一直执行,同时,根据接收客户端数据的执行结果判断链接是否断开。
接收数据的功能块如下:
fbSocketReceive : FB_SocketReceive ;
执行过程:
特别的:
以后遇到什么问题需要完善补充的,在评论区完善!
本文暂时没有评论,来添加一个吧(●'◡'●)