导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→VxWorks下利用套接字实现网络通信的程序[happyjackqu]

 *第45920篇: VxWorks下利用套接字实现网络通信的程序

  
楼 主:happyjackqu 2009年7月19日11:18
 VxWorks下利用套接字实现网络通信的程序
利用TCP协议实现网络通信,程序运行在装有VxWorks的2410上面,作为服务器,在PC机上运行TCP/IP测试软件作为TCP客户端,两者就可以传输数据了。

void server(void)
{
 int sock,snew;
 struct sockaddr_in serverAddr;
 struct sockaddr_in clientAddr;
 int client_len;
 char c;
 extern int errno;
 char buffer[256];
 long ip;
 inti;
 
 bzero((char *)&serverAddr,sizeof(serverAddr));
 bzero((char *)&clientAddr,sizeof(clientAddr));
 sock=socket(AF_INET,SOCK_STREAM,0);
 if(sock=-1) exit(1);
 serverAdd.sin_family=AF_INET;
 serverAdd.sin_port=htons(SERVER_NUM);
 printf("Binding SERVER,port %d\n",serverAdd.sin_port);
 if(bind(sock,(struct sockaddr *)serverAddr,sizeof(serverAddr))==-1)
 {
  printf("Bind failed, errno=%d\n",errno);
  close(sock);
  exit(1);
 }
 printf("Listening to client...\n");
 if(listen(sock,2)==-1)
 {
  printf("Listen failed\n");
  close(sock);
  exit(1);
 }
 
 printf("Accepting CLIENT\n");
 
 client_len=sizeof(clientAddr);
 snew=accept(sock,(struct sockaddr *)&clientAddr,&client_len);
 if(snew==-1)
 {
  printf("Accept failed\n");
  close(sock);
  exit(1);
 }
 ip=ntohl(clientAddr.sin_addr.s_addr);
 printf("CLIENT:port=%d:family=%d:
 addr=%d:%d:%d:%d\n",
 ntohs(clientAddr.sin_port),
 clientAddr.sin_family,
 (ip>  >  24)&0xff,
 (ip>  >  16)&0xff,
 (ip>  >  8)&0xff,
 ip&0xff,
 );
 for(;;)
 {
  bzero(buffer,256);
  for(i=0;i  <256;i++)
  {
   buffer[i]=i;
  }
  if(send(snew,buffer,255,0)==ERROR)
  {
   break;
  }
 }
 close(sock);
 close(snew);
 printf("client closed,goodbye\n");
}


>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:一个有用程序:对字节数据按比特位反转的程序

[下一篇主题]:关于51乘法,加法的汇编问题,救命啊!!!!!!!!!!