(file) Return to wsock32_main.c CVS log (file) (dir) Up to [RizwankCVS] / wine4 / wine / dlls / wsock32 / tests

Diff for /wine4/wine/dlls/wsock32/tests/wsock32_main.c between version 1.4 and 1.5

version 1.4, 2005/02/20 22:33:10 version 1.5, 2005/02/21 19:30:18
Line 45 
Line 45 
 #define NUM_CLIENTS 5 #define NUM_CLIENTS 5
  
 struct TestParams { struct TestParams {
         int sock;          int serverSock;
         int type;          int serverType;
         int serverPort;         int serverPort;
         int clientPort[NUM_CLIENTS];         int clientPort[NUM_CLIENTS];
 }; };
Line 62 
Line 62 
 static void test_ClientServerBlocking_1(void); static void test_ClientServerBlocking_1(void);
 static void test_Startup(void); static void test_Startup(void);
  
 void BlockingClient()  // StartNetworkApp creates socket sock of type type and returns assigned port number in addr.
   void StartNetworkApp(int type, SOCKET *sock, SOCKADDR_IN *addr)
 { {
         SOCKET sock;          SOCKADDR_IN tmpAddr;
         SOCKADDR_IN client;          int tmpAddrSize;
  
         sock = socket(AF_INET, SOCK_DGRAM, 0);          *sock = socket(AF_INET, type, 0);
         if (sock == INVALID_SOCKET) {          if (*sock == INVALID_SOCKET) {
                 ok( 0 , "Error in socket()");                 ok( 0 , "Error in socket()");
                 WSACleanup();                 WSACleanup();
                 exit(0);                 exit(0);
         }         }
         trace("socket() ok\n");         trace("socket() ok\n");
  
         client.sin_family = AF_INET;          addr->sin_family = AF_INET;
         client.sin_addr.s_addr = INADDR_ANY;          addr->sin_addr.s_addr = INADDR_ANY;
         client.sin_port = htons(0);          addr->sin_port = htons(0);
   
         bind(sock, (const SOCKADDR *) &client, sizeof(client));  
  
           if( bind(*sock, (const SOCKADDR *) addr, sizeof(*addr)) ) {
                   ok( 0 , "Error binding client to socket");
                   WSACleanup();
                   exit(0);
           }
  
           // get port number
           tmpAddrSize = sizeof(tmpAddr);
           getsockname(*sock, (SOCKADDR *) &tmpAddr, &tmpAddrSize);
           addr->sin_port = tmpAddr.sin_port;
   }
  
     //while(1)  void BlockingClient()
     {     {
         printf("Thread 1\n");          SOCKET sock;
     }          SOCKADDR_IN client;
           StartNetworkApp(SOCK_STREAM, &sock, &client);
   
           // network code here
   
           trace("blocking client done\n");
 } }
  
 void BlockingServer() void BlockingServer()
 { {
         trace("blocking server\n");          SOCKET sock;
           SOCKADDR_IN server;
           StartNetworkApp(SOCK_STREAM, &sock, &server);
   
           // network code here
   
           trace("blocking server done\n");
 } }
  
 static void test_ClientServerBlocking_1(void) static void test_ClientServerBlocking_1(void)
Line 100 
Line 120 
   DWORD ThreadId1, ThreadId2;   DWORD ThreadId1, ThreadId2;
   Thread1 = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) &BlockingClient, NULL, 0, &ThreadId1);   Thread1 = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) &BlockingClient, NULL, 0, &ThreadId1);
   Thread2 = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) &BlockingServer, NULL, 0, &ThreadId2);   Thread2 = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) &BlockingServer, NULL, 0, &ThreadId2);
         //trace("In test_ClientServerBlocking_1\n");          trace("test_ClientServerBlocking_1 done\n");
 } }
  
 static void test_Startup(void) static void test_Startup(void)


Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

Rizwan Kassim
Powered by
ViewCVS 0.9.2