和学生的学习互动记录(10嵌)


++++++++++++++++++++++++++++++
2012-5-21

编程原则:先有思路,后编代码

C/S的四步:
1. C/S源代码分析
2. 加入线程技术
3. 实现广播
4. 实现单播

我对 第三步 的思路
1. 服务器端:定义全局变量SOCKSET(数组或链表),用于存放 和 客户端 连接的 socketfd。
2. 客户端一启动,就CONNECT服务器。
3. 服务器端:对SOCKSET的访问是互斥的(要用互斥锁),只要客户端连接,就将 和 客户端 连接的 socketfd 放入 SOCKSET。
4. 服务器端:只要客户端发数据,就将 数据 发送给 SOCKSET中的 所有 socketfd。

--------------------------------------------------
2012-5-26

我对 第四步 的思路
1. 客户端启动方式: ./client  XXX        注意:XXX表示姓名,不能重名,因此,服务器要判断是否重名。
2. 服务器端:将 和 客户端 连接的 socketfd 以及 XXX 放入 SOCKSET,这样 socketfd 和 XXX一一对应。
3. 服务器端:只要客户端连接,就将SOCKSET中的有效XXX广播给所有客户。
4. 客户端发信息到服务器,方式:XXX--信息串       注意:XXX表示单播的对象。
5. 服务器端:收到  XXX--信息串  ,根据 XXX 在SOCKSET找到其对应的socketfd,然后将 信息串 发给 socketfd。

++++++++++++++++++++++++++++++
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(886) | 评论(1) | 转发(5) |
0

上一篇:mysql ERROR------FULLTEXT

下一篇:QQ记录

给主人留下些什么吧!~~
77_avatar_small.jpg

wwfybzb2012-05-24 17:55:39

之前主要困惑就是与客户交流的sock fd  始终揭不去调用函数的面纱  直到老师的提醒才去想 想明白  :1,对socket下的函数不很了解;2,没有大胆的猜测。
神秘—>它能有多神秘!

评论热议
posted @ 2016-02-01 00:00  张同光  阅读(86)  评论(0编辑  收藏  举报