如何实现客户端与服务器的交互?

如何实现客户端与服务器的交互?,第1张

C/S模式和B/S各有其有点也各有其缺点,B/S模式在开发中需要考虑数据如何从客户端提交到服务器端,数据又如何返回到客户端,这些是B/S模式所特有的,在去年之前,开发B/S模式的程序,我都是利用form来交互数据,当我看到XML之后,发现XML是个好冬冬,有很多优点,有好的东西当然不能独享啦,想当年为了实现XML交互数据,几乎把网络翻了个遍。咚,一块砖头上来了。呵呵,废话少说,下面我们就进入正题。

B/S模式分为服务器端和客户端,客户端接受用户的请求,客户端向应用服务提出请求,应用服务从数据库服务中获得数据,应用服务将数据进行计算并将结果提交给客户端,客户端将结果呈现给用户。这样,我们就看到了数据从客户到服务器,经过服务器的处理再返回到客户端,由客户端软件(如IE)显示结果。

(以ASP教本语言为例,其它的语言一样哈。)

1.Form方式

Form方式是最基本的向服务器提交数据的方式。

test.asp文件代码:

<%@ Language=VBScript %>

<%

Response.Expires=-1

Response.CharSet="UTF-8"

Session.CodePage="65001"

%>

<form name="frmTest" id="frmTest" action="test.asp" method="POST">

<input name="name" id=" name" type="text" value="">

<input type="hidden" name="number" id="number" value="10">

<input type="submit" value="Submit" name="B1">

</form>

<%

dim intnumber

dim strname

if IsEmpty(Request("name")) then

strname =""

else

strname =Request("name")

end if

if IsEmpty(Request("number")) then

intnumber =0

else

intnumber =Request("number")

end if

最简单的模式就是,

客户端接收键盘,鼠标等的消息,然后发送个服务器。

服务器收到这些消息后,发送给其他(指定或者所有的)客户端

就像你在WEB聊天室聊天一样。首先键盘输入了一大堆文字。然后按下“递交”按钮,于是客户端收集你填写的那些文字内容,然后发送给服务器。(也许里面有些色情暴力的字眼)

服务器在接收的这些消息后,发送给其他用户。(服务器可能和谐掉那些色情暴力的字眼,变成了XXOO)

网络游戏的客户端和服务器也是一样的道理

客户端纪录所有的消息指令,一般来说,如果该消息指令可能影响到其他人的,或者需要被其他人看到,这个消息就会需要被发送到服务器。

服务器处理这些消息进行处理,发送给其他相关的客户端。

直白点来说,服务器端与客户端分别处理哪些事情?你是老板,你说了算。

打开背包向服务器申请数据服务器下发被背包内的物品 ID 、Count(结构体形式以List发送到客户端)

客户端根据接受的ID、Count去本地配置表中配置物品然后显示在背包中

(从服务器接受后在本地查找ID对应的图片 属性 类型后加入Count显示在背包中)

点击物品,将物品ID发送到服务器,服务器扣除物品数量,并将使用物品后所需的效果(如 增加经验、属性等),增加完毕之后将数值返回给客户端,客户端更新背包内容并将对应属性同步刷新显示(如果物品用完 将物品从储存的List中将物品进行删除操作)

服务器向背包发送ID、Count,在本地配置表中生成后 刷新显示到背包中。

客户端发送 角色ID 到客户端,客户端在库中搜索角色

         (1).玩家2同意添加好友,玩家2客户端向服务器发送消息,服务器将两 人绑定为好友关系,将数据(玩家ID等)下发到双方客户端,并刷新 显示双方客户端好友列表。

         (2).玩家2拒绝添加好友,玩家2客户端向服务器发送消息,服务器向玩 家1发送消息,玩家1客户端显示被拒绝消息提醒。

玩家1向服务器发送消息,服务器取消双方好友关系的绑定,并将数据发回双方客户 端,客户端更新显示好友框。

通常以动态生成和隐藏方式显示,只显示上下5个范围内容。。。。。

客户端向服务器发送消息,服务器判断当前时间,并判断当天是否签到过,如未签到 过,向客户端发送信息,客户端显示签到成功,并修改签到按钮为已经签到,如需领 取签到奖励,参考背包获得物品。

服务器记录账号签到天数,如需要补签将补签日期ID发送到服务器,服务器判定当 天是否签到,未签到则执行签到操作,获取奖励物品。

服务器向客户端发送消息(邮件名、邮件内容、是否有附件、附件ID、Count),客 户端接受信息后显示有新邮件的提示,在本地配置表中填入接受的消息,并显示在邮 件中。客户端点击领取附件(向服务器发送消息,已经领取),并且做背包操作,参 考背包系统获取物品。

玩家1编辑邮件,点击发送按钮,将邮件(名称、内容、是否有附件、附件、收件 人)发送到服务器,服务器在库中索搜收件人,然后参考系统附件邮件操作。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/103496.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-09
下一篇2023-03-09

发表评论

登录后才能评论

评论列表(0条)

    保存