• 大小: 1.12MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-20
  • 语言: 其他
  • 标签: 聊天室  

资源简介

1.实现了基本的聊天功能,包括群聊与私聊 2.用户注册时使用文件做过渡,用户退出登陆时仍可保留用户信息 3.封装消息传递时格式,包括消息的生成与解析 4.友好的操作逻辑 5.多方位错误提醒

资源截图

代码片段和文件信息

//////////////////////////////////////////////////////////////////////////
// UDPClient.cpp

#include 
#include 
#include 
#include 
#include 
#define BUF_SIZE 1024
#define name_Length 50
using namespace std;

namespace message{
    std::string getTime(){
        time_t timep;
        time (&timep);
        char tmp[64];
        strftime(tmp sizeof(tmp) “%Y-%m-%d %H:%M:%sSocket“localtime(&timep) );
        return tmp;
    }
    bool messagesGenerate(char* meschar* senderchar* receiverchar* message){
        int nameLen = strlen(sender)mesLen = strlen(message)recLen = strlen(receiver);
        if(nameLen > name_Length - 1) nameLen = name_Length - 1;
        if(recLen > name_Length - 1) recLen = name_Length - 1;
        if(mesLen > BUF_SIZE - 2*name_Length -1) mesLen = BUF_SIZE - 2*name_Length -1;
        int i;
        for(i = 0;i < nameLen;i ++) mes[i] = sender[i];
        mes[i] = ‘\0‘;
        for(i = 0;i < recLen;i ++) mes[i+name_Length] = receiver[i];
        mes[i+name_Length] = ‘\0‘;
        for(i = 0;i < mesLen;i ++) mes[i+2*name_Length] = message[i];
        mes[i+name_Length*2] = ‘\0‘;
        return true;
    }
    bool messagesGenerate(char* meschar* senderchar* receiverchar* messagechar * passwd){
        int nameLen = strlen(sender)mesLen = strlen(message)recLen = strlen(receiver)passLen = strlen(passwd);
        if(nameLen > name_Length - 1) nameLen = name_Length - 1;
        if(recLen > name_Length - 1) recLen = name_Length - 1;
        if(mesLen > BUF_SIZE - 2*name_Length -1) mesLen = BUF_SIZE - 2*name_Length -1;
        if(passLen > BUF_SIZE - 3*name_Length -1) passLen = BUF_SIZE - 3*name_Length -1;
        int i;
        for(i = 0;i < nameLen;i ++) mes[i] = sender[i];
        mes[i] = ‘\0‘;
        for(i = 0;i < recLen;i ++) mes[i+name_Length] = receiver[i];
        mes[i+name_Length] = ‘\0‘;
        for(i = 0;i < mesLen;i ++) mes[i+2*name_Length] = message[i];
        mes[i+name_Length*2] = ‘\0‘;
        for(i = 0;i < passLen;i ++) mes[i+3*name_Length] = passwd[i];
        mes[i+name_Length*3] = ‘\0‘;
        return true;
    }
    bool getSender(char* meschar *sender){
        for(int i = 0;i < name_Length;i ++){
            sender[i] = mes[i];
            if(sender[i] == ‘\0‘) return true;
            if(i == name_Length) return false;
        }
        return true;
    }
    bool getReceiver(char* meschar *receiver){
        for(int i = 0;i < name_Length;i ++){
            receiver[i] = mes[i+name_Length];
            if(receiver[i] == ‘\0‘) return true;
            if(i == name_Length) return false;
        }
        return true;
    }
    bool getMessage(char* meschar* mess){
        for(int i = 0;i < BUF_SIZE - 2*name_Length;i ++){
            mess[i] = mes[i+name_Length*2];
            if(mess[i] == ‘\0‘) return true;
            if(i == BUF_SIZE - 2*name_Length) return false;
        }

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    1088686  2018-03-27 11:11  udp-3\testClient\bin\Debug\testClient.exe

     文件     561152  2018-03-27 01:42  udp-3\testClient\bin\Release\testClient.exe

     文件      11650  2018-03-27 11:11  udp-3\testClient\main.cpp

     文件      43942  2018-03-27 11:11  udp-3\testClient\obj\Debug\main.o

     文件       9909  2018-03-27 01:42  udp-3\testClient\obj\Release\main.o

     文件       1115  2018-03-19 19:49  udp-3\testClient\testClient.cbp

     文件        278  2018-03-27 11:23  udp-3\testClient\testClient.depend

     文件        361  2018-03-27 11:41  udp-3\testClient\testClient.layout

     文件    1085485  2018-03-27 11:36  udp-3\testScreen\bin\Debug\testScreen.exe

     文件     559616  2018-03-27 01:42  udp-3\testScreen\bin\Release\testScreen.exe

     文件       7514  2018-03-27 11:36  udp-3\testScreen\main.cpp

     文件      38907  2018-03-27 11:36  udp-3\testScreen\obj\Debug\main.o

     文件       6526  2018-03-27 01:42  udp-3\testScreen\obj\Release\main.o

     文件       1115  2018-03-20 00:40  udp-3\testScreen\testScreen.cbp

     文件        278  2018-03-27 11:23  udp-3\testScreen\testScreen.depend

     文件        437  2018-03-27 11:41  udp-3\testScreen\testScreen.layout

     文件    1162417  2018-03-27 11:32  udp-3\testServer\bin\Debug\testServer.exe

     文件         31  2018-03-27 00:39  udp-3\testServer\bin\Debug\userList - 副本.txt

     文件         69  2018-03-27 09:54  udp-3\testServer\bin\Debug\userList.txt

     文件      14582  2018-03-27 11:32  udp-3\testServer\main.cpp

     文件     148035  2018-03-27 11:32  udp-3\testServer\obj\Debug\main.o

     文件      20901  2018-03-27 01:30  udp-3\testServer\obj\Release\main.o

     文件       1080  2018-03-19 19:48  udp-3\testServer\testServer.cbp

     文件        301  2018-03-27 11:23  udp-3\testServer\testServer.depend

     文件        362  2018-03-27 11:41  udp-3\testServer\testServer.layout

     文件         21  2018-03-27 00:00  udp-3\testServer\userList.csv

     文件         30  2018-03-27 01:09  udp-3\testServer\userList.txt

     文件       8613  2018-03-26 21:11  udp-3\testServer\userList.xlsx

     目录          0  2018-03-27 11:11  udp-3\testClient\bin\Debug

     目录          0  2018-03-27 01:42  udp-3\testClient\bin\Release

............此处省略22个文件信息

评论

共有 条评论