赞
踩
socket套接字相关的文章我们已经写过太多,这里就不再展开。CAPL使用socket实现TCP和UDP通信,在文章《【CANoe示例分析】TCP/UDP Server/Client》也有过介绍,但主要介绍的是工程示例,代码分析比较粗略,今天重点介绍下CAPL代码如何实现socket套接字在TCP通信中的使用。
首先TCP通信双方的角色不同,一个是client,一个是server。
client作为连接的发起方,创建socket后,负责发起连接。
variables
{
const dword INVALID_SOCKET = 0xFFFFFFFF;
dword clientSocket = INVALID_SOCKET;
}
on key 'a'
{
clientSocket = tcpOpen(ipGetAddressAsNumber("192.168.0.52"), 6001);
tcpConnect(clientSocket, ipGetAddressAsNumber("192.168.0.17"), 6002);
}
tcpOpen()函数除了可以创建tcp socket以外,还可以绑定本地ip地址和端口号。这样就不需要再调用ipBind()函数绑定。
调用tcpConnect()函数会发起连接请求,请求的目标主机的ip地址和端口号需要明确。
连接请求到达server端时,server端需要监听这个请求,为此,server端也需要创建socket并监听。
variables
{
const dword INVALID_SOCKET = 0xFFFFFFFF;
dword
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。