Exemple #1
0
int main(void) 
{  
    srand((int)time(0)); 
    int connfd;  
    connfd = unix_socket_conn("foo.sock"); 
    if(connfd<0) 
    { 
        printf("Error[%d] when connecting...",errno); 
        return 0; 
    } 
    printf("Begin to recv/send...\n");   
    int i,n,size; 
    char rvbuf[4096]; 
    for(i=0;i<3;i++) 
    { 
        //=========发送====================== 
        memset(rvbuf,'a'+i,2048); 
        rvbuf[2047]='b'; 
        size = send(connfd, rvbuf, 2048, 0); 
        if(size>=0) 
        { 
            printf("Data[%d] Sended:%c.\n",size,rvbuf[2047]); 
        } 
        if(size==-1) 
        { 
            printf("Error[%d] when Sending Data:%s.\n",errno,strerror(errno));    
            break;       
        } 
        sleep(1); 
    } 
    unix_socket_close(connfd); 
    printf("Client exited.\n");     
} 
int main(void)
{ 
  srand((int)time(0));
  int connf; 
  connf = unix_socket_conn("foo.sock");
  if(connf<0)
  {
     printf("Error[%d] when connecting...",errno);
	 return 0;
  }
   printf("Begin to recv/send...\n");  
  int i,n,size;
  char rvbuf[4096];
  for(i=0;i<10;i++)
  {
/*
    //=========接收=====================
    size = recv(connfd, rvbuf, 800, 0);   //MSG_DONTWAIT
	 if(size>=0)
	 {
	    printf("Recieved Data[%d]:%c...%c\n",size,rvbuf[0],rvbuf[size-1]);
	 }
	 if(size==-1)
	 {
	     printf("Error[%d] when recieving Data.\n",errno);	 
             break;		
	 }
         if(size < 800) break;
*/
    //=========发送======================
memset(rvbuf,'a',2048);
         rvbuf[2047]='b';
         size = send(connf, rvbuf, 2048, 0);
	 if(size>=0)
	 {
		printf("Data[%d] Sended:%c.\n",size,rvbuf[0]);
	 }
	 if(size==-1)
	 {
	    printf("Error[%d] when Sending Data:%s.\n",errno,strerror(errno));	 
            break;		
	 }
         sleep(1);
  }
   unix_socket_close(connf);
   printf("Client exited.\n");    
 }
void unix_socket_send(char *str){
  connf = unix_socket_conn("foo.sock");
  int i,n,size;
  char rvbuf[4096];
  for(i=0;i<10;i++)
  {
    strcpy(rvbuf,str);
    rvbuf[2047]='b';
    size = send(connf, rvbuf, 2048, 0);
   if(size>=0)
   {
    printf("Data[%d] Sended:%c.\n",size,rvbuf[0]);
   }
   if(size==-1)
   {
      printf("Error[%d] when Sending Data:%s.\n",errno,strerror(errno));   
            break;    
   }
         sleep(1);
  }
}