老师布置的作业,弄得我挺摸不着头脑哪位高手能给出个大体框架思路要求,客户端能够连接多个,进行抢答,第一个抢答成功,其他失败
回答问题答对后,服务端能给客户端加分,客户端能够显示
如果出现意外掉线,要能够保持客户端分数信息
不能出现err

解决方案 »

  1.   


    1:SOCKET 服务端,定义一个BOOL变量FLAG表示是否有人回答,如果有人回答则设置为TRUE。
    在SOCKET相应事件中当FLAG为FALSE时,即第一个人抢答成功,首先设置FLAG为TRUE,并判断抢答人回答是否正确,正确则加分,回答错误则将FLAG设置为FALSE。
    如果FLAG = TRUE 即没有抢答成功的客户端,返回抢答失败。
    2:客户端接收服务端返回信息,抢答成功者答对返回分数,并显示在客户端。
    3:意外掉线,对SOCKET连接用TRY...CATCH 包围。CATCH后不提示错误信息就可以了。
      

  2.   


    1.服务端AcceptTcpClient()等待第一个人抢答的人发来的
    2.收到后,读取流里的回答信息和IP地址
    3.给该抢答成功的IP的客户端回发抢答成功的留信息,客户端记录抢答成功的状态
    3.给局域网广播抢答失败的流信息,凡是没有记录过抢答成功状态的客户端自动设置为抢答失败状态(因此只有抢答成功的这台才不会设置),不允许再发送抢答信息直到下次复位
    4.如果正确,给该IP的客户端加分,回发修正后的分数的流信息,客户端刷新显示
    5.广播发送所以客户端复位,使其清除状态,等待下次抢答
    6.出下一题,继续1客户列表和分数放在服务器端,断线不影响