I use net.Listen ("tcp", addr) for a small server program that needs to receive data and store it on the server. On the client side, I have a C ++ program, and I just wrote 4,096,000 bytes to the socket (connected to my server program) Recording on the client side ends in less than a second. When using the Read () functions of a net.Conn connection, reading is very slow.
The following is a read () loop:
// Handle the reads var tbuf [81920]byte for { n, err := c.rwc.Read(tbuf[0:]) // Was there an error in reading ? if err != nil { log.Printf("Could not read packet : %s", err.Error()) break } log.Println(n) } return
c.rwc is of type net.Conn
The output of the above code is as follows:
2012/12/29 13:45:12 16384 2012/12/29 13:45:12 16018 2012/12/29 13:45:12 16384 2012/12/29 13:45:12 16016 2012/12/29 13:45:13 16384 2012/12/29 13:45:13 16016 2012/12/29 13:45:13 16384 2012/12/29 13:45:13 16016 2012/12/29 13:45:13 16384 2012/12/29 13:45:13 16016 2012/12/29 13:45:13 16384 2012/12/29 13:45:13 16016 2012/12/29 13:45:13 16384 2012/12/29 13:45:13 16016 2012/12/29 13:45:13 16384 2012/12/29 13:45:13 16016 2012/12/29 13:45:13 16384 2012/12/29 13:45:14 16016 2012/12/29 13:45:14 16384 2012/12/29 13:45:14 16016 2012/12/29 13:45:14 16384 2012/12/29 13:45:14 16016 2012/12/29 13:45:14 16384 2012/12/29 13:45:14 16016 2012/12/29 13:45:14 16384 2012/12/29 13:45:14 16016 2012/12/29 13:45:14 16384 2012/12/29 13:45:14 16016 2012/12/29 13:45:14 16384 2012/12/29 13:45:14 16016 2012/12/29 13:45:15 16384 2012/12/29 13:45:15 16016 2012/12/29 13:45:15 16384 2012/12/29 13:45:15 16016 2012/12/29 13:45:15 16384 2012/12/29 13:45:15 16016 2012/12/29 13:45:15 16384 2012/12/29 13:45:15 16016 2012/12/29 13:45:15 16384 2012/12/29 13:45:15 16016 2012/12/29 13:45:15 16384 2012/12/29 13:45:15 16016 2012/12/29 13:45:15 16384 2012/12/29 13:45:16 16016 2012/12/29 13:45:16 16384 2012/12/29 13:45:16 16016 2012/12/29 13:45:16 16384 2012/12/29 13:45:16 16016 2012/12/29 13:45:16 16384 2012/12/29 13:45:16 16016 2012/12/29 13:45:16 16384 2012/12/29 13:45:16 16016 2012/12/29 13:45:18 16384 2012/12/29 13:45:18 16016 2012/12/29 13:45:19 16384 2012/12/29 13:45:19 16016 2012/12/29 13:45:19 16384 2012/12/29 13:45:19 16016 2012/12/29 13:45:19 16384 2012/12/29 13:45:19 16016 2012/12/29 13:45:19 16384 2012/12/29 13:45:19 16016 2012/12/29 13:45:19 16384 2012/12/29 13:45:19 16016 2012/12/29 13:45:19 16384 2012/12/29 13:45:19 16016 2012/12/29 13:45:19 16384 2012/12/29 13:45:20 16016 2012/12/29 13:45:20 16384 2012/12/29 13:45:20 16016 2012/12/29 13:45:20 16384 2012/12/29 13:45:20 16016 2012/12/29 13:45:20 16384 2012/12/29 13:45:20 16016 2012/12/29 13:45:20 16384 2012/12/29 13:45:20 16016 2012/12/29 13:45:20 16384 2012/12/29 13:45:20 16016 2012/12/29 13:45:20 16384 2012/12/29 13:45:20 16016 2012/12/29 13:45:21 16384 2012/12/29 13:45:21 16016 2012/12/29 13:45:21 16384 2012/12/29 13:45:21 16016 2012/12/29 13:45:21 16384 2012/12/29 13:45:21 16016 2012/12/29 13:45:21 16384 2012/12/29 13:45:21 16016 2012/12/29 13:45:21 16384 2012/12/29 13:45:21 16016 2012/12/29 13:45:21 16384 2012/12/29 13:45:21 16016 2012/12/29 13:45:21 16384 2012/12/29 13:45:22 16016 2012/12/29 13:45:22 16384 2012/12/29 13:45:22 16016 2012/12/29 13:45:22 16384 2012/12/29 13:45:22 16016 2012/12/29 13:45:22 16384 2012/12/29 13:45:22 16016 2012/12/29 13:45:22 16384 2012/12/29 13:45:22 16016 2012/12/29 13:45:22 16384 2012/12/29 13:45:22 16016 2012/12/29 13:45:22 16384 2012/12/29 13:45:22 16016 2012/12/29 13:45:23 16384 2012/12/29 13:45:23 16016 2012/12/29 13:45:23 16384 2012/12/29 13:45:23 16016 2012/12/29 13:45:23 16384 2012/12/29 13:45:23 16016 2012/12/29 13:45:23 16384 2012/12/29 13:45:23 16016 2012/12/29 13:45:23 16384 2012/12/29 13:45:23 16016 2012/12/29 13:45:23 16384 2012/12/29 13:45:23 16016 2012/12/29 13:45:24 16384 2012/12/29 13:45:24 16016 2012/12/29 13:45:24 16384 2012/12/29 13:45:24 16016 2012/12/29 13:45:24 16384 2012/12/29 13:45:24 16016 2012/12/29 13:45:24 16384 2012/12/29 13:45:24 16016 2012/12/29 13:45:24 16384 2012/12/29 13:45:24 16016 2012/12/29 13:45:24 16384 2012/12/29 13:45:24 16016 2012/12/29 13:45:24 16384 2012/12/29 13:45:25 16016 2012/12/29 13:45:25 16384 2012/12/29 13:45:25 16016 2012/12/29 13:45:25 16384 2012/12/29 13:45:25 16016 2012/12/29 13:45:25 16384 2012/12/29 13:45:25 16016 2012/12/29 13:45:25 16384 2012/12/29 13:45:25 16016 2012/12/29 13:45:25 16384 2012/12/29 13:45:25 16016 2012/12/29 13:45:25 16384 2012/12/29 13:45:26 16016 2012/12/29 13:45:26 16384 2012/12/29 13:45:26 16016 2012/12/29 13:45:26 16384 2012/12/29 13:45:26 16016 2012/12/29 13:45:26 16384 2012/12/29 13:45:26 16016 2012/12/29 13:45:26 16384 2012/12/29 13:45:26 16016 2012/12/29 13:45:26 16384 2012/12/29 13:45:26 16016 2012/12/29 13:45:26 16384 2012/12/29 13:45:26 16016 2012/12/29 13:45:27 16384 2012/12/29 13:45:27 16016 2012/12/29 13:45:27 16384 2012/12/29 13:45:27 16016 2012/12/29 13:45:27 16384 2012/12/29 13:45:27 16016 2012/12/29 13:45:27 16384 2012/12/29 13:45:27 16016 2012/12/29 13:45:27 16384 2012/12/29 13:45:28 16016 2012/12/29 13:45:28 16384 2012/12/29 13:45:29 16016 2012/12/29 13:45:29 16384 2012/12/29 13:45:29 16016 2012/12/29 13:45:29 16384 2012/12/29 13:45:29 16016 2012/12/29 13:45:29 16384 2012/12/29 13:45:29 16016 2012/12/29 13:45:29 16384 2012/12/29 13:45:29 16016 2012/12/29 13:45:29 16384 2012/12/29 13:45:29 16016 2012/12/29 13:45:29 16384 2012/12/29 13:45:30 16016 2012/12/29 13:45:30 16384 2012/12/29 13:45:30 16016 2012/12/29 13:45:30 16384 2012/12/29 13:45:30 16016 2012/12/29 13:45:30 16384 2012/12/29 13:45:30 16016 2012/12/29 13:45:30 16384 2012/12/29 13:45:30 16016 2012/12/29 13:45:31 16384 2012/12/29 13:45:31 16016 2012/12/29 13:45:31 16384 2012/12/29 13:45:31 16016 2012/12/29 13:45:32 16384 2012/12/29 13:45:32 16016 2012/12/29 13:45:32 16384 2012/12/29 13:45:32 16016 2012/12/29 13:45:32 16384 2012/12/29 13:45:32 16016 2012/12/29 13:45:32 16384 2012/12/29 13:45:32 16016 2012/12/29 13:45:32 16384 2012/12/29 13:45:32 16016 2012/12/29 13:45:32 16384 2012/12/29 13:45:32 16016 2012/12/29 13:45:32 16384 2012/12/29 13:45:33 16016 2012/12/29 13:45:33 16384 2012/12/29 13:45:33 16016 2012/12/29 13:45:33 16384 2012/12/29 13:45:33 16016 2012/12/29 13:45:33 16384 2012/12/29 13:45:33 16016 2012/12/29 13:45:33 16384 2012/12/29 13:45:33 16016 2012/12/29 13:45:33 16384 2012/12/29 13:45:33 16016 2012/12/29 13:45:33 16384 2012/12/29 13:45:34 16016 2012/12/29 13:45:34 16384 2012/12/29 13:45:34 16016 2012/12/29 13:45:34 16384 2012/12/29 13:45:34 16016 2012/12/29 13:45:34 16384 2012/12/29 13:45:34 16016 2012/12/29 13:45:34 16384 2012/12/29 13:45:34 16016 2012/12/29 13:45:34 16384 2012/12/29 13:45:34 16016 2012/12/29 13:45:34 16384 2012/12/29 13:45:35 16016 2012/12/29 13:45:35 16384 2012/12/29 13:45:35 16016 2012/12/29 13:45:35 16384 2012/12/29 13:45:35 16016 2012/12/29 13:45:35 16384 2012/12/29 13:45:35 16016 2012/12/29 13:45:36 16384 2012/12/29 13:45:36 16016 2012/12/29 13:45:36 16384 2012/12/29 13:45:36 16016 2012/12/29 13:45:37 16384 2012/12/29 13:45:37 16016 2012/12/29 13:45:37 16384 2012/12/29 13:45:37 16016 2012/12/29 13:45:37 16384 2012/12/29 13:45:37 16016 2012/12/29 13:45:37 16384 2012/12/29 13:45:37 16016 2012/12/29 13:45:37 16384 2012/12/29 13:45:37 16016 2012/12/29 13:45:37 4048
As you can see, the read operation takes almost 21-25 seconds to read 4,096,000 bytes, which is very slow because the server and the client are on the same computer. Does the read operation work? I canβt understand why it is so slow?
source share