C# Socket 如何解析数据?
答案:3 悬赏:80 手机版
解决时间 2021-02-25 23:41
- 提问者网友:你独家记忆
- 2021-02-25 04:11
比如我在客户端输入了一些信息,int1,string1,string2,然后传给服务端,服务端要把数据放在MySQL数据库相应的表里,但是服务端如何知道哪个string信息对应数据表里的第几列?
最佳答案
- 五星知识达人网友:青尢
- 2021-02-25 05:42
协议!协议!!协议!!!
客户端的数据不可能随意发给服务端,必须要双方约定好数据格式,也就是通讯协议,然后客户端按这个约定发送数据,接收端按这个约定解析数据。
否则客户端发来一大堆二进制0和1,鬼才知道这是什么东西。
客户端的数据不可能随意发给服务端,必须要双方约定好数据格式,也就是通讯协议,然后客户端按这个约定发送数据,接收端按这个约定解析数据。
否则客户端发来一大堆二进制0和1,鬼才知道这是什么东西。
全部回答
- 1楼网友:神也偏爱
- 2021-02-25 08:00
一般我转为byte后用0分开
- 2楼网友:往事隔山水
- 2021-02-25 06:25
1)如果“数据条数”定义是:客户端发送数据帧的数量,那么,服务器每当收到一次客户端的数据帧,计数就加1;例如,客户端a连续发送了“你好”,“我在这里”两条信息,服务器的计数就应该增加2;
2)服务器可以接收来自多个客户端的数据,可以分别统计每个客户端数据条数,也可以统计所以客户端数据总的条数。
针对上面两个需求,实现起来大致框架如下:
1)定义一个dictionary num,用来计数
dictionary num= new dictionary();其中,泛型参数string用于表示客户端;int用于计数
2)每当服务器接收到来自客户端数据后,可以获得客户端的ipendpoint clientep,将clientep转换成字符串,作为dictionary 的键值,用来标识客户端
string client = clientep.tostring();
if(!num.containskey(client))
{
//在集合中添加一个客户端计数项
num.add(client, 0);
}
//数据条数加1
num[client]++;3)分别统计并显示每个客户的数据条件
foreach( var c in num)
{
console.writeline("客户端{0},总数{1}", c.key, c.value);
}4)统计并显示服务器接收到所有客户端数据条数的总数
var qry = from c in num.values select c
console.writeline("接收总数{0}", qry.sum());
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯