代码拉取完成,页面将自动刷新
同步操作将从 Cverse/基于P2P模式的联机雷霆战机 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#ifndef UDPCLIENT_H
#define UDPCLIENT_H
#pragma once
#include<winsock2.h>
#include<windows.h>
#include <Shlobj.h>
#include <tchar.h>
#include<time.h>
#include<string>
#include<thread>
#include<iostream>
#include<QDebug>
using namespace std;
#pragma warning(disable:4996)
#pragma comment(lib,"ws2_32.lib")
#define SBUF_SIZE 32 //发送缓存的大小
#define RBUF_SIZE 32 //接受缓存的大小
#define pport 53377 //peerport:用来两台主机交流时的socket的port
class point {
public:
int x;
int y;
point() {}
point(int a, int b) :x(a), y(b) {}
~point() {}
};
class UDPClient
{
public:
UDPClient();
int cport; //用于创建客户端嵌套字的端口
//写data到缓冲数组
void Send(point x);
//从缓冲数组中读数据
point Rece();
//往peer客户端发送sdata内的数据
void SendData();
//获取peer发来的数据到rdata
void ReceData();
//构造函数
UDPClient(char* ip, int port);
//析构函数
~UDPClient();
private:
SOCKADDR_IN sersin; //服务器的socket地址
SOCKET cli; //客户端用于交流的套接字
SOCKADDR_IN peer; //另一个客户端的socket地址
char* rdata; //直接与socket传输交互的数组
char* sdata; //直接与socket传输交互的数组
char* rdata_; //直接与程序交互的缓冲数组
char* sdata_; //直接与程序交互的缓冲数组
bool srejoin; //控制是否继续发rejoin包
int sinlen; //SOCKADDR_IN类型长度
//请求版本协议(socket的前提)
int Wsa();
//创建客户端与其他方交流的套接字
SOCKET CreateSocketUDP();
//往服务器发送数据
void SendToSer();
//与服务器交流获得另一个客户端的socket地址
SOCKADDR_IN TalkServer();
//接收socket信息
void ReceSOCKADDR_IN();
//绑定peer到cli
void Connect();
};
#endif // UDPCLIENT_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。