mingssager
Requirements
Implement an instant messaging software based on TCP and UDP:
- Include both server-side and client-side;
- Support user registration, login, and password retrieval (based on TCP);
- If two users are online at the same time, use p2p to communicate without being transited by the server (based on TCP);
- Support p2p reliable file transfer (base on UDP);
- The data stored on the server are strongly encrypted;
- Support at least two groups of users to communicate and transfer files online at the same time;
- File transfer shows good performance with full use of network bandwidth;
- User-friendly GUI.
Implement
based on Qt and winsock, almost use one month to finish this huge software
- Environment : Windows 10
- Qt : qt 5.9
Features
- server
- winsock
- I/O multiplexing: select
- file Information
- client
- QTcpSocket
- QUdpSocket
- QTcpServer
Methods for reliable file transmission(based on UDP)
- Timeout
- md5
- GBN
- Qt signal and slot