在写一个桌面监控程序,客户端每隔100毫秒会和服务器发送一个截图文件。
现在的问题是所有的文件都通过一个tcp连接发送,还是一个文件新建一个连接?
如果每个文件建一个连接,100毫秒一个连接是不是太频繁了?
如果所有文件都是一个连接的话,服务器要知道文件的大小,再开一个新端口专门接受文件的大小。
所有的文件内容都是在一个连接中接收的,再根据接收到的大小去一个个分割byte数组。
这个思路对么?
在写一个桌面监控程序,客户端每隔100毫秒会和服务器发送一个截图文件。
现在的问题是所有的文件都通过一个tcp连接发送,还是一个文件新建一个连接?
如果每个文件建一个连接,100毫秒一个连接是不是太频繁了?
如果所有文件都是一个连接的话,服务器要知道文件的大小,再开一个新端口专门接受文件的大小。
所有的文件内容都是在一个连接中接收的,再根据接收到的大小去一个个分割byte数组。
这个思路对么?
我的思路是这样的,一个固定端口(客户端,服务器端各一个),用来进行c/s对话的,客户端想服务端发送文件信息(一段固定格式字符串),包括(文件名,文件大小,其他信息,用来告诉服务器端你想要干嘛),服务器端接收到信息后进行解析,然后新开一个监听端口,并把此端口信息发送给客户端(通过固定的对话端口),客户端通过对话端口接收到信息后,连接服务端的临时传送端口,传送文件.文件传送完毕后,这个端口就关闭了.服务器端建议使用多线程新开端口.