回 帖 发 新 帖 刷新版面

主题:WinSocket编程问题

我的要求在服务器和客户端频繁传递信息,而且信息长度内容变化大。问:
1、能否所有信息都使用SendBuffer和ReadBuffer函数收发?
2、一端用SendText发送,另一端能否用ReadBuffer接收数据?或者反过来,用SendBuffer发送,用ReadBuffer接收?
3、有资料写道,可以定制协议,设置客户端(服务器端)状态码和信息头。但我担心,当发出了某个请求后,还没有得到对方的回应,又进行了其他操作,改变了当前状态。这导致状态码和得到的信息发生混乱。我的担心是否多余??

回复列表 (共3个回复)

沙发

1应该能够可以用SendBuffer和ReadBuffer函数来进行收发,不过你得设置足够大的发送缓存,2一端用SendText,另一端用Readbuffer,应该可以,因为端口本身就是文件的映射,3你可以加一个标志,当多长时间没反映时自动返回一个错误信息,或者不去管他执行其他的操作。

板凳

你也可以结构体的形式发:
typedef struct sample
{          
    int a;
    int b;
} _sample_sample mysample;
CSocket so;
so.Send(&mysample,sizeof(mysample));

3 楼

谢谢两位了!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册