所以我正在制作一个 iOS 应用程序,但这更像是一个一般的网络问题。
所以我有一个电话作为服务器,然后一堆电话作为客户端连接到电话。基本上它是一个游戏/音乐分享器。
真正理解它的语义有点困难,但这并不重要。
重要的是服务器和客户端通过 TCP 连接快速地反复发送彼此的命令和位置,有时客户端希望向服务器发送一个音乐文件(通常为 4MB)作为音乐播放。
我最初遇到的问题是,发送大文件时,会挂起从客户端向服务器发送命令。
我天真的解决方案是创建另一个套接字以连接到服务器以将文件发送到服务器,服务器将检查新套接字的 IP,如果它具有现有连接的 IP,那么它会将其绑定到那个连接,接收文件,然后断开套接字。
但问题是套接字连接需要 1-2 秒的延迟,而且我知道可能会发生中间人攻击。
这个问题有更优雅的解决方案吗?