首页 新闻 会员 周边

关于socket问答式通信的疑问?

0
悬赏园豆:10 [已关闭问题] 关闭于 2012-01-17 09:06

本人想开发一类似问答式的socket程序,由于各种原因无法使用wcf、Net Remoting等,只能使用socket了。
程序是这样的,比如客户端发送A字符,服务端会返回一数据(延迟10s),发送B字符返回其他等,依次类推。

现在我客户端先后或者同时发送A和B字符,这样服务器会先后返回2次数据给我。但接收数据的代码是同一段,请问,我如何处理收到的数据?

本人表达能力不是很好,就是说,我想实现类似以下功能,则上面的问题就不存在了:send()能返回返回值,这返回值是服务器给的特殊的数据,这样我就不用通过Receive()来获取服务端的数据,上面的问题也就不存在了.

类似这种,请问应该怎么处理?或者有其他通信方法么?谢谢!

Suyana的主页 Suyana | 初学一级 | 园豆:190
提问于:2011-11-29 08:32
< >
分享
所有回答(2)
0

推荐阅读:深入探析c# Socket

dudu | 园豆:31003 (高人七级) | 2011-11-29 09:38
0

socket是底层的api,没有那么方便的功能。如果socket那么方便,wcf什么的就都可以去死了。
当然你要封装一下就会很方便了。类似于:

class MySocket
{
string send(string a)
{
socket.send(a);
return socket.receive();
}
}
Greatest | 园豆:678 (小虾三级) | 2011-11-29 15:14

首先感谢您的回答,但是这实际上是行不通的吧,比如我发送A到返回数据要10s,而发送B则立刻返回。如果我先发送A后立刻发送B,按照您那个的代码事实上返回的是B命令的数据吧

支持(0) 反对(0) Suyana | 园豆:190 (初学一级) | 2011-11-29 18:17

@Suyana: 当然不是

支持(0) 反对(0) Greatest | 园豆:678 (小虾三级) | 2011-11-29 18:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册