方法/步骤
服务器增加逻辑:ChatFileServer 接收文件的另一套逻辑,虽然独立出来了,也可以和接收聊天信息的逻辑合并
客户端增加逻辑:ChatListActivity 在原有单聊,群聊的基础上增加上传文件。public class ChatListActivity extends AppCompatActivity implements View.OnClickListener { private LinearLayout friend_ly, group_ly, file_ly; //自己在手机根目录放置一个文件
ChatAppliaction.chatServer.sendFileMessage(filePath); break; } } }ChatFileServer 增加上传文件服务逻辑,上传文件的逻辑不能像服务器端代码一样和聊天逻辑合并。
客户端互传文件建议采用UDP协议,实施点对点数据传输,这样就不需要改动服务器端,如果基于tcp协议传文件,则需要将文件上传至服务器,好友再去服务器下载文件,这样增大了服务器的负荷、占用了服务器空间。
- 相关内容未经许可获取自百度经验
具体实现过程:建立SocketServer,等待客户端的连接。当有客户端连接的时候,按照双方的约定,这时要读取一行数据。
其中保存客户端要发送的文件名和文件大小信息。根据文件名在本地创建文件,并建立好流通信。
循环接收数据包,将数据包写入文件。当接收数据的长度等于提前文件发过来的文件长度,即表示文件接收完毕,关闭文件。文件接收工作结束。
END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
展开阅读全部
















