Reland Enable socketservers unittests on windows.

Original CL: https://codereview.webrtc.org/2199193004/
Revert CL: https://codereview.webrtc.org/2209333002/

NOTRY=true
BUG=webrtc:6167,webrtc:6178

Review-Url: https://codereview.webrtc.org/2218853002
Cr-Commit-Position: refs/heads/master@{#13654}
diff --git a/webrtc/base/socket_unittest.cc b/webrtc/base/socket_unittest.cc
index 0b282cd..c206220 100644
--- a/webrtc/base/socket_unittest.cc
+++ b/webrtc/base/socket_unittest.cc
@@ -681,7 +681,7 @@
 }
 
 void SocketTest::TcpInternal(const IPAddress& loopback, size_t data_size,
-    ssize_t max_send_size) {
+    ptrdiff_t max_send_size) {
   testing::StreamSink sink;
   SocketAddress accept_addr;
 
@@ -719,6 +719,7 @@
     char ch = static_cast<char>(i % 256);
     send_buffer.AppendData(&ch, sizeof(ch));
   }
+  rtc::Buffer recved_data(0, data_size);
 
   // Send and receive a bunch of data.
   size_t sent_size = 0;
@@ -741,7 +742,7 @@
         EXPECT_LE(sent, unsent_size);
         sent_size += sent;
         if (max_send_size >= 0) {
-          EXPECT_LE(static_cast<ssize_t>(sent), max_send_size);
+          EXPECT_LE(static_cast<ptrdiff_t>(sent), max_send_size);
           if (sent < unsent_size) {
             // If max_send_size is limiting the amount to send per call such
             // that the sent amount is less than the unsent amount, we simulate
@@ -766,8 +767,7 @@
       }
 
       // Receive as much as we can get in a single recv call.
-      char recved_data[data_size];
-      int recved_size = receiver->Recv(recved_data, data_size, nullptr);
+      int recved_size = receiver->Recv(recved_data.data(), data_size, nullptr);
 
       if (!recv_called) {
         // The first Recv() after getting readability should succeed and receive
@@ -780,7 +780,7 @@
       if (recved_size >= 0) {
         EXPECT_LE(static_cast<size_t>(recved_size),
             sent_size - recv_buffer.size());
-        recv_buffer.AppendData(recved_data, recved_size);
+        recv_buffer.AppendData(recved_data.data(), recved_size);
       } else {
         ASSERT_TRUE(receiver->IsBlocking());
         readable = false;
@@ -790,7 +790,7 @@
     // Once all that we've sent has been received, expect to be able to send
     // again.
     if (!writable) {
-      EXPECT_TRUE_WAIT(sink.Check(sender.get(), testing::SSE_WRITE),
+      ASSERT_TRUE_WAIT(sink.Check(sender.get(), testing::SSE_WRITE),
                        kTimeout);
       writable = true;
       send_called = false;