socket
kereus
这个作者很懒,什么都没留下…
展开
-
socket 各种模型的性能
1.Socket + Threads/ThreadPool 大概性能:小于1500个连接 实现:Accept一个Socket,就交给一个线程去管理,比较笨,但也比较有效,因为是同步方式,控制起来很方便。高级点的,就是交给一个线程池去管理,线程池由系统自动托管,省去了开销线程的时间。一般小型项目,用这个完全足够,开发也简单。但要注意,如果若干Socket长时间占用线程池中的线程,同时其它连接数又转载 2014-04-02 00:26:12 · 822 阅读 · 0 评论 -
WinSock五种I/O模型的性能分析
重叠I/O模型的另外几个优点在于,微软针对重叠I/O模型提供了一些特有的扩展函数。当使用重叠I/O模型时,可以选择使用不同的完成通知方式。 采用事件对象通知的重叠I/O模型是不可伸缩的,因为针对发出WSAWaitForMultipleEvents调用的每个线程,该I/O模型一次最多都只能支持6 4个套接字。假如想让这个模型同时管理不止64个套接字,必须创建额外的工作者线程,以便等待更多的事件对转载 2014-05-09 16:22:24 · 600 阅读 · 0 评论 -
error C2375: “WSACleanup”: 重定义;不同的链接 等
出现许多觉得不应该说这样的问题。转载 2014-04-11 03:24:54 · 10949 阅读 · 3 评论 -
Socket 长连接 心跳包
1.如何知道谁在线? Server维护一个list就ok了(存所有人的ip,名字,在线等) 2.如何让服务器随时能找到你? 前提:内网机器如果不主动向外发起连接,外网机没法直连内网的,这也是内网机安全的原因之一吧,又因为路由器会把这个关系记录下来,但是过一段时间这个记录可能会丢失 ,所有每一个客户端每隔一定时间就会向服务器发送消息,以保证服务器可以随时找到你,这东西被转载 2014-07-18 03:47:47 · 613 阅读 · 0 评论 -
Socket接收问题
//接收一条服务器返回消息shil const int MAX_BUF = 1200*2; char recvbuf[MAX_BUF]; //这一次获取的字节 char nextbuf[MAX_BUF*2]; //这一次留下的字节 char nowbuf[MAX_BUF*2]; //这一次总的字节 int iRet; //这一次获取的字节数 int nRet = 0;原创 2014-09-03 16:17:24 · 550 阅读 · 0 评论 -
socket传输文件 写文件的时候需要注意的
//读取8.mp3文件(269,260 字节)写到1.mp3,分成4份,标号为1,2,3,4 写入顺序为1,3,2,4 //若是写文件的时候,每次都打开再关闭,结果:文件大小正确,用UltraEdit查看二进制和原来的一致,但是听一下会发现有问题,拖到音频编辑工具上面波形也不一样 #include #include using namespace std; int main () { con原创 2015-01-21 17:17:00 · 1071 阅读 · 0 评论