服务端与客户端相互通信的问题。。。。。。
本人初学C#,所以有很多东西还不太明白, 最近在做一个自己的项目,遇到一些问题,所以要求助于各位!谢谢
服务端在一台内网电脑上,通过在路由器上映射端口实现访问。服务器连接有摄像头。
客户端在其他内网电脑上。
功能:
客户端通过TCP与服务端连接,然后客户端可以向服务端发送一些指令,比如打开服务器中的指定文件,然后服务器返回一条数据确定是否打开成功。
客户端通过指定指令,让服务端向客户端发送摄像头画面,通过UDP形式发送。客户端接收后显示画面。
服务端通过一个线程监听端口,如果有新的连接则新建一个socket与之连接。
客户端每隔一段时间发送一个心跳包。
问题:
1,如何新建一个socket与之连接。
2,如何创建一个用户列表,让每个用户的IP、端口、发来的心跳包一一对应。
3,如何判断长时间没接收到心跳包,然后关闭相应的连接,关闭UDP的发送。(一对一连接的时候,我是用一个两个timer,一个修改一个布尔值,一个判断布尔值,然后用户的心跳包用来修改布尔值,但多个用户连接,这样显然不行吧)
大家可以不用贴代码,可以只告诉我需要实现上面的功能都要学习什么?或是有什么好的教程教材啥的。然后我可以比较有针对性的学习一下。谢谢各位了!!