当前位置: 技术问答>linux和unix
server(windows)/client(linux)通讯,服务器异常结束遇到的问题/
来源: 互联网 发布时间:2016-01-29
本文导语: 跨平台tcp/ip通讯。 windows开通一个服务器。不断地接受发送数据。 Linux开通一客户端。不断的发送接收数据。 客户端代码如下: unsigned GetData(unsigned char *dsrcbuf) { fd_set readset; struct timeval tv; int nRet,nRead,i; FD_ZERO(&re...
跨平台tcp/ip通讯。
windows开通一个服务器。不断地接受发送数据。
Linux开通一客户端。不断的发送接收数据。
客户端代码如下:
unsigned GetData(unsigned char *dsrcbuf)
{
fd_set readset;
struct timeval tv;
int nRet,nRead,i;
FD_ZERO(&readset);
FD_SET(sockfd4996,&readset);
tv.tv_sec=2;
tv.tv_usec=2000;
nRet=select(sockfd4996+1,&readset,NULL,NULL,&tv);
if(nRet==0)
{
return -2; //超时
}
if(FD_ISSET(sockfd4996,&readset))
{
nRead=recv(sockfd4996, dsrcbuf, MAXDATASIZE, 0);
return nRead;
}
return 1;
}
int main(void)
{
...........
sockfd4996 = socket(AF_INET, SOCK_STREAM, 0);
if (connect(sockfd4996,(struct sockaddr *)&to4996,sizeof(struct sockaddr)) == -1)
...........
memset(cmd,0x02,18);
len=18;
dwlen=send(sockfd4996,cmd,len,0);
if(dwlen
windows开通一个服务器。不断地接受发送数据。
Linux开通一客户端。不断的发送接收数据。
客户端代码如下:
unsigned GetData(unsigned char *dsrcbuf)
{
fd_set readset;
struct timeval tv;
int nRet,nRead,i;
FD_ZERO(&readset);
FD_SET(sockfd4996,&readset);
tv.tv_sec=2;
tv.tv_usec=2000;
nRet=select(sockfd4996+1,&readset,NULL,NULL,&tv);
if(nRet==0)
{
return -2; //超时
}
if(FD_ISSET(sockfd4996,&readset))
{
nRead=recv(sockfd4996, dsrcbuf, MAXDATASIZE, 0);
return nRead;
}
return 1;
}
int main(void)
{
...........
sockfd4996 = socket(AF_INET, SOCK_STREAM, 0);
if (connect(sockfd4996,(struct sockaddr *)&to4996,sizeof(struct sockaddr)) == -1)
...........
memset(cmd,0x02,18);
len=18;
dwlen=send(sockfd4996,cmd,len,0);
if(dwlen