保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 计算机论文 >> 正文

C语言实的串行通信接口程序


sending and receiving data*/
struct sockaddr-in client;/*client address information*/
struct sockaddr-in server;/*server address information*/
int s;/*socket for accepting connections*/
int ns;/*socket connected to client*/
int namelen;/*length of client name*/
int pktlen;/*length of packet received or sended*/
if ((s = socket(AF-INET,SOCK-STREAM, 0))<0) {
perror("Socket()");
return;
}
/*Bind the socket to the server address.*/
bzero((char*)&server, sizeof(server));
server.sin-len =sizeof(struct sockaddr-in);
server.sin-family=AF-INET;
server.sin-port =htons(USERPORT);
server.sin-addr.s-addr=INADDR-ANY;
if (bind(s, (struct sockaddr *)&server, sizeof(server)) <0) {
perror ("Bind()");
return;
}
/*Listen for connections. Specify the backlog as 1. */
if (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.

《C语言实的串行通信接口程序(第5页)》
本文链接地址:http://www.oyaya.net/fanwen/view/171929.html

★温馨提示:你可以返回到 计算机论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。