TCP高并发应用中bufio包消息分割实现.pdfVIP

  • 0
  • 0
  • 约3.48千字
  • 约 4页
  • 2026-09-10 发布于北京
  • 举报

本章作业

使用bufio包为TCPConn添加缓冲区

需求

TCP协议是流式传输的,原生不支持消息分割。应用

层通常需要指定消息分隔符,例如“\n”。要实现基于

TCP的应用层协议,必须处理消息分割问题

bufio.Reader

bufio包的Reader工具能缓存Socket接收的所有数据,并将所

需部分数据返回给调用方

Reader.ReadString()

Reader的ReadString方法可缓存Socket接收的数据,并返

回首个指定分隔符前的数据内容

package

main

import

(

fmt

net

io

log

bufio

)

func

ListenAndServe(address

string)

{

//

绑定地址listener,

err

:=

net.Listen(tcp,

address)

if

err

!=nil

{

log.Fatal(fmt.Sprintf(listen

err:

%v,

err))

}

defer

listener.Close()

log.Println(fmt.Sprintf(bind:

%

s,

开始...,

address))

for

{

//

Accept

会一直阻塞直到有新

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档