例子:
服务端:
...
conn.Write。。
buffer := make([]byte, 1024)
for {
n, err := conn.Read(buffer)
....
客户端:
...
conn.Write。。。
buffer := make([]byte, 1024)
for {
n, err := conn.Read(buffer)
...
![]() |
1
freedomSky 263 天前
关键字 “双工”
|
![]() |
2
passerbytiny 263 天前 via Android ♥ 1
一条双向路,两个方向同时有人走,会把人丢了吗?
在外部看 socket 的通道和缓冲区都是读写隔离的。 |
![]() |
3
Akiyu 263 天前
去看一下 UNP
我记得底层是类似两条管道实现的, 所以不会 |
![]() |
4
opengps 263 天前
不冲突啊
|
5
zarte 263 天前
@freedomSky 那两边同时传大数据超出了各自的缓冲区,两边都会死等吗?
|
6
alexsunxl 263 天前
超过缓冲区就会丢包, 然后速度会降下来, 直到你应用层能处理掉缓冲区, 又把速度生上来。
|
7
alexsunxl 263 天前 ♥ 1
好像也差不多是等死的意思
|
9
justicelove 263 天前
不会,建议多了解下 TCP
|
10
sundev 263 天前
楼主的问题对应“全双工”、“滑动窗口”
|