热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

copy_paste和pazee进来领分.

http:expert.csdn.netExperttopic12651265214.xml?temp.6446344感谢两位帮助.由于分太少,没有在这个帖子中给两位加分.在这里
http://expert.csdn.net/Expert/topic/1265/1265214.xml?temp=.6446344
感谢两位帮助.由于分太少,没有在这个帖子中给两位加分.
在这里给100分.每人50分.
小弟的分太少,不要怪我太小气啊.
///////////////////////////////////////////////////
pazee的回答:
大企鹅,这个问题我说说我的看法。

1.TSocketServer和TSocketClient的发送和接受机制你理解的有问题,
客户端的写和服务器端的读不是一一对应的。
写的时候是写进缓存的,不一定就发送了,反过来如果你客户端写了一个比较大的数据比如10K,那么服务段可能触发了n此ClientRead事件。

2.对于98和nt(2000是NT5,XP是NT 5.1)Socket也有却别,他们对于每个数据包的大小封装不同,但是这个问题你可以不考虑。

3.利用Socket写程序有个忌讳,就是你这个写法,比如客户端定义了一个I am ok.表示客户端的一个状态,而服务器端收到的可能是I am和OK两个包,你用简单的字符串比对是不行的,你需要建立一个接收的缓存,然后判断这个缓存的内容,不能再OnClientRead里面判断。
///////////////////////////////////////////////////////////////////////
copy_paste:
ClientSocket是阻塞还是非阻塞?
非阻塞的情况下,Active = true,会马上返回,但有可能没有联接上服务,然后可能就会延迟了,情况比较微妙吧。
/////////////////////////////////////////////////////////////////////

14 个解决方案

#1


转到水园吧,偶差几分就1000分啦,耙子睡觉了,偶替他决定,相信他不会怪我这个英明的决定的。hoho...

#2


这两个家伙到哪去了.

#3


扩充话题 1949 100 
看看我的水分..啊哈哈..厉害吧...嘻嘻.

#4


耙子睡觉了。我没有睡啊,给我2分吧。要不我删贴扣分。扣死你们两个!!!哈哈哈哈!

#5


靠,比我高多了,看来以后要少给你点。。。嘿嘿,俺要超过你的。。。

#6


to invalid;
   我投降,我给你2分..啊哈哈哈...嘻嘻....哼哼..唧唧..

#7


那我就放心了。先睡觉了!

#8


我也睡觉了.pazee(怕责阿)大哥不容易邓等啊.

#9


怎么会不容易了?你看他发给我的消息:

发送者 pazee 发送时间 2002-12-17 5:35:33 删除  回复  
估计你睡熟了,嗬嗬!。。。

#10


我已经睡熟了.你发的消息我没有看到...嘻嘻...呼噜..呼噜..

#11


我没睡,我来了!嘿嘿!

#12


木头和企鹅还在睡觉

#13


刚上不来,哪有你这家伙爽,偶天天8点就起床了,哪像你到10点还睡意犹在。。。

#14


^_^ 再给我几分  我就成四颗角了


谁要水分  我这里很多阿  





以后到  DB版  我会多多照顾的阿 ^_^……  否则……呵呵呵呵

给点吧……哈哈哈哈哈哈

推荐阅读
author-avatar
--Fac_k-
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有