Chinaunix首页 | 论坛 | 博客
  • 博客访问: 115127
  • 博文数量: 29
  • 博客积分: 826
  • 博客等级: 上士
  • 技术积分: 390
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-11 08:30
文章分类
文章存档

2012年(29)

我的朋友

分类: LINUX

2012-06-18 09:32:36

server.c
#include
#include
#include
#include
#include
#include
int main(int argc, char *argv[])
{
 int s;
 int fd;
 int len;
 int l1=0,l2=0;
 int i;
 struct sockaddr_in my_addr;  
 struct sockaddr_in remote_addr;
 int sin_size;
 char buf[BUFSIZ];
 memset(&my_addr,0,sizeof(my_addr));
 my_addr.sin_family=AF_INET;
 my_addr.sin_addr.s_addr=INADDR_ANY;
 my_addr.sin_port=htons(8000);
 if((s=socket(AF_INET,SOCK_STREAM,0))<0)
 {
  perror("socket\n");
  return 1;
 }
 if (bind(s,(struct sockaddr *)&my_addr,sizeof(struct sockaddr))<0)
 {
  perror("bind\n");
  return 1;
 }
 listen(s,5);
 sin_size=sizeof(struct sockaddr_in);
 if((fd=accept(s,(struct sockaddr *)&remote_addr,&sin_size))<0)
 {
  perror("accept\n");
  return 1;
 }
 printf("accept client %s\n",inet_ntoa(remote_addr.sin_addr));
 //len=send(fd,"Welcome to my server\n",21,0);
 char rbuf[1025];
 for(i=0;i<1024;i++)
 {
  rbuf[i]=1;
 }
 char sbuf[1024];
 for(i=0;i<1024;i++)
 {
  sbuf[i]='s'; 
 } 
 while(1)
 { 
  len=recv(fd,rbuf,1024,0);
  if(len==1024)
  {
   l1++;
  }
  l2++;
  printf("1024 package %d in total %d\n",l1,l2);
  bzero(rbuf,sizeof(rbuf));
  len=send(fd,sbuf,1024,0);
 }
 close(fd);
 close(s);
 return 0;
}
 
client.c
#include
#include
#include
#include
#include
#include
#define BUFSIZE 1024
int main(int argc, char *argv[])
{
 int s;
 int len;
 int i;
 int l1=0,l2=0;
 struct sockaddr_in remote_addr;
 char buf[BUFSIZE];
 memset(&remote_addr,0,sizeof(remote_addr));
 remote_addr.sin_family=AF_INET;
 remote_addr.sin_addr.s_addr=inet_addr("192.168.0.210");
 remote_addr.sin_port=htons(8000);
 if((s=socket(AF_INET,SOCK_STREAM,0))<0)
 {
  perror("socket");
  return 1;
 }
 if (connect(s,(struct sockaddr *)&remote_addr,sizeof(struct sockaddr))<0)
 {
  perror("connect");
  return 1;
 }
  printf("connected to server\n");
  char sbuf[1024];
  for(i=0;i<1024;i++)
  {
   sbuf[i]='c'; 
  } 
  char rbuf[1025];
  for(i=0;i<1024;i++)
  {
   rbuf[i]=0;
  }
  while(1)
  {
   len=send(s,sbuf,1024,0);
   len=recv(s,rbuf,1024,0);
   if(len==1024)
   {
    l1++;
   }
   l2++;
   printf("1024 package %d in total %d\n",l1,l2);
   bzero(rbuf,sizeof(rbuf));  
  }
 
 close(s);
 return 0;
}
阅读(1165) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~