Comments (16)
你们好,请问一下,我不太理解buffer缓冲。tcp的一方发送数据包,接收方接收到数据包,假设数据没有一次性读(read)完那么剩下的数据就无法处理吗?(tcp内核不是提供了内核缓冲区吗,为什么用户态还需要缓冲区)大佬,求解答
from webserver.
是指在哪里提供啊?
from webserver.
非阻塞IO应该都有Buffer作为缓冲.假如所到来的数据没有一次性读取完,那么剩下的数据您这里是如何处理的呐? muduo也是有 Buffer 缓冲的啊
from webserver.
有的,我直接用了个string来缓冲了
from webserver.
恩恩,明白了.我也写了一个这个项目,准备在你这里汲取一些精华.在你这个项目里加个配置文件和支持动态文件的功能吧,感觉这样会更好一点.
from webserver.
你们好,请问一下,我不太理解buffer缓冲。tcp的一方发送数据包,接收方接收到数据包,假设数据没有一次性读(read)完那么剩下的数据就无法处理吗?(tcp内核不是提供了内核缓冲区吗,为什么用户态还需要缓冲区)大佬,求解答
from webserver.
恩恩,明白了.我也写了一个这个项目,准备在你这里汲取一些精华.在你这个项目里加个配置文件和支持动态文件的功能吧,感觉这样会更好一点.
恩,确实
恩恩,明白了.我也写了一个这个项目,准备在你这里汲取一些精华.在你这个项目里加个配置文件和支持动态文件的功能吧,感觉这样会更好一点.
可以做的事情很多的,我只做到这一步了。。
from webserver.
你们好,请问一下,我不太理解buffer缓冲。tcp的一方发送数据包,接收方接收到数据包,假设数据没有一次性读(read)完那么剩下的数据就无法处理吗?(tcp内核不是提供了内核缓冲区吗,为什么用户态还需要缓冲区)大佬,求解答
因为tcp是基于字节流的协议,内核没有能力解析你的字节流,只能在用户态自己解析。
举个例子,A给B发 surprise
B内核态接受sur结束了,用户态从内核读到sur,什么也做不了,因为这不是一个完整的消息,好吧,下次继续读,读到prise,哦,这是另外一个单词了。
正确的做法就是我读到sur,我不明白是什么意思,我存起来,下次读到prise,组合起来,我才明白,原来是surprise的意思
from webserver.
感谢博主大大,我懂了
from webserver.
请问一下,如果要主动关闭连接,如何保证对方已经收到全部数据?
from webserver.
如何设计并使用缓冲区?有没有什么设计上的可借鉴之处?
from webserver.
请问一下,如果要主动关闭连接,如何保证对方已经收到全部数据?
保证不了的,发完就行了
from webserver.
如何设计并使用缓冲区?有没有什么设计上的可借鉴之处?
这个可以看一下陈硕的那本书<Linux多线程服务端编程>
from webserver.
嗯嗯,感谢博主
from webserver.
博主,你这个运行服务器是在上层生成的build/release目录下运行服务器的吗
就是在这个目录下,运行 ./WebServer -t 线程数目 -l 生成的日志所在的目录 -p 端口号
from webserver.
@lixuhao 再进几层找到可执行文件
from webserver.
Related Issues (20)
- 优化点
- 关于线程池的问题 HOT 1
- wenbench测试问题 HOT 7
- CountDownLatch类相关
- mutexlock类的析构函数 HOT 1
- muduo的测试代码 HOT 1
- 如何在两台电脑直接可以测试呢
- runinloop问题 HOT 1
- Directory traversal.
- 开启了服务器之后 每次连接就Segmentation fault (core dumped) HOT 1
- 测试出现问题
- ./WebServer时显示WebServer是一个目录 HOT 1
- old_version0.1中的request->seperateTimer HOT 1
- 怎么没人问这个 HOT 1
- 客户端的代码
- 小白求问,为什么这个是ET模式
- 版本1使用webbench测试出现问题 HOT 1
- Build的权限不够是怎么回事呢 HOT 1
- 在HttpData::analysisRequest()中,有一个用于测试的路由结点/hello
- 面试问题打不开
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from webserver.