C语言实的串行通信接口程序(3)
作者:佚名; 更新时间:2014-12-05
listen(s,1)!=0) {
perror("listen()");
return;
}
/*accept a connection.*/
namelen=sizeof(client);
if ((ns = accept(s, (struct sockaddr *)&client,&namelen))==-1) {
perror("accept()");
return;
}
/*receive the message on the newly connected socket.*/
for (;;){
if ((pktlen = recv(ns, buf, 1024, 0))<0) {
perror("recv()");
break;
}
else if (pktlen==0) {
printf("recv():return failed,connection is shut down! ");
break;
}
else printf("recv():return success, packet length = %d ",pktlen);
sleep(1); /*sleep() 1秒钟是为了减慢数据交换速度*/
/*send the message back to the client.*/
if (send(ns, buf, pktlen, 0) <0) {
perror("send ()");
break;
}
else printf("send():return success, packet length = %d ",pktlen);
}
close(ns);
close(s);
printf("server ended successfully");
}
四、结束语
本文试图通过一个实例来说明如何使用winsock实现windows下网络实时通信。从上面的讨论可以看出,使用winsock编制windows下网络软件是比较方便的,winsock提供的异步选择机制使socket强大的网络编程功能能够在windows下得到应用。相信随着internet的推广,tcp/ip网络协议的广泛使用,使用winsock编制windows网络实时通信软件将会有一个大的发展。

参考文献
1 martin hall等.windows sockets-an open interface for network programm ing under microsoft windows.winsock document, 1993(6).2 孙义等.unix环境下的网络程序设计.北京:希望公司,1991.3 梁振军等.新编tcp/ip协议与计算机网络互联技术.北京:希望公司,1992.

信捷职称论文写作发表网
核心期刊快速发表
Copyright@2000-2030 论文期刊网 Corporation All Rights Reserved.
《中华人民共和国信息产业部》备案号:ICP备07016076号;《公安部》备案号:33010402003207
本网站专业、正规提供职称论文发表和写作指导服务,并收录了海量免费论文和数百个经国家新闻出版总署审批过的具有国内统一CN刊号与国际标准ISSN刊号的合作期刊,供诸位正确选择和阅读参考,免费论文版权归原作者所有,谨防侵权。联系邮箱:256081@163.com