Socket_报头结构形式问题
各位大神,我正在用socket模块来操作网口与设备(三菱PLC)通信。
当设备侧网口的结构形式设为IEEE802.3时,能够正常通信;而当设备侧网口的结构形式设置为Ethernet(V2.0)之后,就无法正常解析报文了。
想请教一下,socket中的哪一个参数是设置报头的结构形式的?先行谢过。
我的socket定义如下:
addrSrv.sin_addr.S_un.S_addr = inet_addr(m_iAddress);
addrSrv.sin_family = AF_INET;
addrSrv.sin_port = htons(m_iPort);
wVersionRequested = MAKEWORD(2, 2);
SocketErr = WSAStartup(wVersionRequested, &wsaData);
sockClient = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);=
::setsockopt(sockClient, SOL_SOCKET, SO_SNDTIMEO, (char *)&TimeOut, sizeof(TimeOut));
::setsockopt(sockClient, SOL_SOCKET, SO_RCVTIMEO, (char *)&TimeOut, sizeof(TimeOut));
const char chOpt = 1;
::setsockopt(sockClient, IPPROTO_TCP, TCP_NODELAY, &chOpt, sizeof(char));
connect(sockClient, (SOCKADDR*)&addrSrv, sizeof(SOCKADDR)) ;