openGL贴图(借助glx),并测试性能(FPS)2

client.c

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/time.h>
#include <stdio.h>

static int s;
void initclient(char *ip)
{
     long port=8000;
     s=socket(PF_INET,SOCK_STREAM,0);

     struct sockaddr_in sa;
     sa.sin_family=AF_INET;
     sa.sin_addr.s_addr=inet_addr(ip);
     sa.sin_port=htons(port);
     connect(s,(struct sockaddr *)&sa,sizeof(sa));
}

void gettime(struct timeval *ptp)
{
    send(s,"a",2,0);
    recv(s,(char *)ptp,sizeof(struct timeval),0);  
}

/*
int main()
{
     struct timeval tpstart,tpend;
     init("127.0.0.1");
     int utime;
     while(1)
     {
         gettime(&tpstart);
         sleep(2);
        gettime(&tpend);
        utime=1000*(tpend.tv_sec-tpstart.tv_sec)+(tpend.tv_usec-tpstart.tv_usec)/1000;           
          printf("sleep used time: %d ms\n",utime);
     }
     return 0;
}
*/


server.c

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/time.h>


int gettimeofday(struct timeval *tv,struct timezone *tz);

int main()
{

     struct timeval tp;
    
  
     char buf[10];
     int sz;
     long s,fd,port=8000;
     struct sockaddr_in sa;

     sz=sizeof(sa);
     sa.sin_family=AF_INET;
     sa.sin_addr.s_addr=htonl(INADDR_ANY);
     sa.sin_port=htons(port);

     s=socket(PF_INET,SOCK_STREAM,0);
     bind(s,(struct sockaddr*)&sa,sz);
     listen(s,5);
     while(1)
     {
         fd=accept(s,(struct sockaddr *)&sa,&sz);
         if (!fork())
        {
             while(1)
             {
                 recv(fd,(char*)buf,10,0);
                 gettimeofday(&tp,NULL);
                 send(fd,(char *)&tp,sizeof(tp),0);
             }
         }
         else
             close(fd);
     }    
    
     return 0;
}


使用TCP/IP协议获取时间的原因是如果测试程序运行在VmWare下获取的时间不精确。
另外,增加glFinish函数的目的也是解决虚拟机下程序执行和glx显示之间的延时问题。

//引用请注明来自hi.baidu.com/xqs83

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值