genericopenlibs/openenvcore/libc/test/testsocket/src/tsocketblocks.cpp
branchRCL_3
changeset 56 acd3cd4aaceb
parent 0 e4d67989cc36
child 45 4b03adbd26ca
child 57 2efc27d87e1c
child 66 38bdaa106551
equal deleted inserted replaced
54:4332f0f7be53 56:acd3cd4aaceb
  1633 		ret = KErrListen;
  1633 		ret = KErrListen;
  1634 		goto close;
  1634 		goto close;
  1635 		}
  1635 		}
  1636 	
  1636 	
  1637 	newsock_fd = accept(sock_fd,(sockaddr*)&new_socket,0);	
  1637 	newsock_fd = accept(sock_fd,(sockaddr*)&new_socket,0);	
       
  1638 	if (newsock_fd >  0)
       
  1639         {       
       
  1640             ret = KErrAccept;
       
  1641             goto close;
       
  1642         }
  1638 	if (errno != EINVAL )
  1643 	if (errno != EINVAL )
  1639         {
  1644         {
  1640         INFO_PRINTF2(_L("Accept return with errno = %d"), errno);
  1645         INFO_PRINTF2(_L("Accept return with errno = %d"), errno);
  1641         ret = KErrAccept;
  1646         ret = KErrAccept;
  1642         goto close;
  1647         goto close;
  2094 if (ret < 0)
  2099 if (ret < 0)
  2095 {
  2100 {
  2096 printf("[Client] send data to server fail\n");
  2101 printf("[Client] send data to server fail\n");
  2097 break;
  2102 break;
  2098 }
  2103 }
  2099 int bytes = ret;
  2104 //int bytes = ret;
  2100 
  2105 
  2101 printf("[Client] send %d bytes: %s\n",ret,tcpdata);
  2106 printf("[Client] send %d bytes: %s\n",ret,tcpdata);
  2102 char buff[50];
  2107 char buff[50];
  2103 char* p = buff;
  2108 char* p = buff;
  2104 
  2109 
  2125 return 0;
  2130 return 0;
  2126 }
  2131 }
  2127 
  2132 
  2128 TInt CTestSocket::TestSendReturnValue( )
  2133 TInt CTestSocket::TestSendReturnValue( )
  2129 	{
  2134 	{
  2130 	 int  ret1=0;
  2135 	// int  ret1=0;
  2131 	 pthread_t t;
  2136 	 pthread_t t;
  2132 	 int flag = 0;
  2137 	 int flag = 0;
  2133 	 _LIT(KWelcome,"Hello Open C and OPENENV!\n");
  2138 	 _LIT(KWelcome,"Hello Open C and OPENENV!\n");
  2134 	 INFO_PRINTF1(KWelcome) ;
  2139 	 INFO_PRINTF1(KWelcome) ;
  2135 	 int servsockid = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
  2140 	 int servsockid = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
  2140 	 }
  2145 	 }
  2141 	 // reuseaddr
  2146 	 // reuseaddr
  2142 	 int set = 1;
  2147 	 int set = 1;
  2143 	 setsockopt(servsockid, SOL_SOCKET, SO_REUSEADDR, &set, sizeof(set));
  2148 	 setsockopt(servsockid, SOL_SOCKET, SO_REUSEADDR, &set, sizeof(set));
  2144 
  2149 
  2145 	 int result = -1;
  2150 	// int result = -1;
  2146 	 struct sockaddr_in addr;
  2151 	 struct sockaddr_in addr;
  2147 	 addr.sin_family = AF_INET;
  2152 	 addr.sin_family = AF_INET;
  2148 	 addr.sin_port = htons(5000);
  2153 	 addr.sin_port = htons(5000);
  2149 	 addr.sin_addr.s_addr = htonl(INADDR_ANY);
  2154 	 addr.sin_addr.s_addr = htonl(INADDR_ANY);
  2150 
  2155 
  2163 	 printf("[Server] listen fail\n");
  2168 	 printf("[Server] listen fail\n");
  2164 	 break;
  2169 	 break;
  2165 	 }
  2170 	 }
  2166 	 
  2171 	 
  2167 	 
  2172 	 
  2168 	 ret1= pthread_create(&t, 0 , myclie, (void*) 5000 );
  2173 	 ret = pthread_create(&t, 0 , myclie, (void*) 5000 );
  2169 	 
  2174 	 
  2170 
  2175 
  2171 	 socklen_t len = sizeof(addr);
  2176 	 socklen_t len = sizeof(addr);
  2172 	 int clientid = accept(servsockid, (sockaddr*) &addr, &len);
  2177 	 int clientid = accept(servsockid, (sockaddr*) &addr, &len);
  2173 	 if (clientid < 0)
  2178 	 if (clientid < 0)
  2200 	 else
  2205 	 else
  2201 	 {
  2206 	 {
  2202 	 printf("[Server] send data to client %d bytes: %s\n", ret, buff);
  2207 	 printf("[Server] send data to client %d bytes: %s\n", ret, buff);
  2203 	 }      
  2208 	 }      
  2204 	 close(clientid);
  2209 	 close(clientid);
  2205 	 result = 0;
  2210 	// result = 0;
  2206 	 }
  2211 	 }
  2207 	 while (0);
  2212 	 while (0);
  2208 	 close(servsockid);
  2213 	 close(servsockid);
  2209 	
  2214 	
  2210      _LIT(KWait,"wait...\n");
  2215      _LIT(KWait,"wait...\n");
  3413 	server.sin_port = htons(Port);
  3418 	server.sin_port = htons(Port);
  3414 	sock = socket(AF_INET,SOCK_DGRAM,0);
  3419 	sock = socket(AF_INET,SOCK_DGRAM,0);
  3415 	sleep(5);
  3420 	sleep(5);
  3416 	ret = sendto(sock,&buf,sizeof(buf),0,(struct sockaddr*)&server,sizeof(struct sockaddr));
  3421 	ret = sendto(sock,&buf,sizeof(buf),0,(struct sockaddr*)&server,sizeof(struct sockaddr));
  3417 	ret = sendto(sock,&buf,sizeof(buf),0,(struct sockaddr*)&server,sizeof(struct sockaddr));
  3422 	ret = sendto(sock,&buf,sizeof(buf),0,(struct sockaddr*)&server,sizeof(struct sockaddr));
       
  3423 	if( ret == -1 )
       
  3424 	    {
       
  3425         printf("sendto failed \n");
       
  3426 	    }
  3418 	close(sock);
  3427 	close(sock);
  3419 	return NULL;
  3428 	return NULL;
  3420 	}
  3429 	}
  3421 TInt CTestSocket::TestNotify()
  3430 TInt CTestSocket::TestNotify()
  3422 	{
  3431 	{