资源简介

有登录,注册,私聊,群聊等功能。简约而不简单!代码简单易懂,使用多台主机测试过完美运行,使用前请关闭防火墙!!!或者在防火墙里把本程序设置为允许

资源截图

代码片段和文件信息

#include
#include
#include
#include
#include
#pragma comment(lib“ws2_32.lib“)
using namespace std;
#define DEFAULT_SPORT 5055
#define DEFAULT_CPORT 5056
#define BUFFER_LENGTH 1024

int main()
{
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2 2) &wsaData) != 0)
{
cout << “Failed to load Winsock.“ << endl;
return 0;
}
//建立显示器端地址
struct sockaddr_in receiver;
//读取分配好的端口
ifstream in(“port.txt“);
string receiver_port;
string username;
getline(in receiver_port);
getline(in username);
in.close();
remove(“port.txt“);
int receiver_port_int = atoi(receiver_port.c_str());

receiver.sin_family = AF_INET;
receiver.sin_port = htons(receiver_port_int);    //htons()函数把一个双字节主机字节顺序的数转换为网络字节顺序的数
receiver.sin_addr.s_addr = htonl(INADDR_ANY);    //htonl()函数把一个主机字节顺序的数转换为网络字节顺序的数   
SOCKET rSocket = socket(AF_INET SOCK_DGRAM 0);
if (rSocket == INVALID_SOCKET)
{
cout << “socket()Failed:“ << WSAGetLastError() << endl;
 return 0;
}
if (bind(rSocket (LPSOCKADDR)&receiver sizeof(receiver)) == SOCKET_ERROR)
{
cout << “bind()Failed:“ << WSAGetLastError() << endl;
return 0;
}

char recv_buf[BUFFER_LENGTH];                  //接收数据的缓冲区
memset(recv_buf 0 sizeof(recv_buf));         //初始化接收缓冲区

struct sockaddr_in ser;                        //客户端地址
int ser_length = sizeof(ser);                  //客户端地址长度


cout << “----------------------------------------“ << endl << endl;
cout << “           显示器---“ << username << endl << endl << endl;
cout << “----------------------------------------“ << endl << endl;

while (true)                                   //进入一个无限循环,进行数据接收和发送
{
int iRecv = recvfrom(rSocket recv_buf BUFFER_LENGTH 0 (SOCKADDR*)&ser &ser_length);
string transmessage(recv_buf);
if (iRecv == SOCKET_ERROR)
{
cout << “recvfrom()Failed:“ << WSAGetLastError() << endl;
break;
}
else if (transmessage == “exit“) break;
else
cout << transmessage << endl;
}
closesocket(rSocket);
WSACleanup();
return 0;
}

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

     文件       2220  2018-12-28 09:20  基于UDP的控制台聊天程序源代码\客户端\receiver.cpp

     文件    1929243  2018-12-28 09:20  基于UDP的控制台聊天程序源代码\客户端\receiver.exe

     文件      10390  2018-12-28 11:55  基于UDP的控制台聊天程序源代码\客户端\sender.cpp

     文件    2049828  2018-12-28 12:26  基于UDP的控制台聊天程序源代码\客户端\sender.exe

     文件      14718  2018-12-28 12:20  基于UDP的控制台聊天程序源代码\服务器\server.cpp

     文件    1986293  2018-12-28 12:20  基于UDP的控制台聊天程序源代码\服务器\server.exe

     目录          0  2018-12-28 12:26  基于UDP的控制台聊天程序源代码\客户端

     目录          0  2018-12-28 12:20  基于UDP的控制台聊天程序源代码\服务器

     目录          0  2018-12-28 09:20  基于UDP的控制台聊天程序源代码

----------- ---------  ---------- -----  ----

              5992692                    9


评论

共有 条评论