网络编程
来源:互联网 发布:商家服务规范 淘宝 编辑:程序博客网 时间:2024/06/05 04:42
项目:网络五子棋
出现的问题: 当客户端向服务器端发送消息(IP - PORT - NAME)时。服务器老是会接收1/3的消息。
解决方法:发现时包头发送时出现了错误。
</pre><pre name="code" class="cpp"><span style="white-space:pre"></span>intnErrCode;//返回值 PACKETHDRpacketHdr;//定义包头 packetHdr.type = type;//包类型 packetHdr.len = strData.GetLength();//数据长度 //发送包头 nErrCode = send(m_s, (char*)&packetHdr, PACKETHDRLEN, 0); if (SOCKET_ERROR == nErrCode) { AfxMessageBox(L"发送用户列表错误!"); return FALSE; } //发送包体 USES_CONVERSION; nErrCode = send(m_s,T2A(strData), packetHdr.len, 0); if (SOCKET_ERROR == nErrCode) { AfxMessageBox(L"发送用户列表错误!"); return FALSE; }
int nErrCode;//返回值
PACKETHDR packetHdr; //定义包头
packetHdr.type = type;//包类型
packetHdr.len = strData.GetLength();//数据长度
//发送包头
nErrCode = send(m_s, (char*)&packetHdr, PACKETHDRLEN, 0);
if (SOCKET_ERROR == nErrCode)
{
AfxMessageBox(L"发送用户列表错误!");
return FALSE;
}
//发送包体
USES_CONVERSION;
nErrCode = send(m_s,T2A(strData), packetHdr.len, 0);
if (SOCKET_ERROR == nErrCode)
{
AfxMessageBox(L"发送用户列表错误!");
return FALSE;
}
//客户端之间发送数据包
typedef struct _clientpacket
{
int type;//类型
u_short xPos; //水平位置
u_short yPos; //垂直位置
}CLIENTPACKET, *PCLIENTPACKET;
//线程函数参数
typedef struct _threadparam
{
HWND hClientHwnd;//主窗口句柄
BOOL *pRunning;//线程运行状态
WORD *pTotalEvent;//事件对象数量
WSAEVENT*pArrEvent;//事件对象数组
SOCKET *pArrSocket; //套接字句柄数组
HANDLE hEventExit; //线程退出事件句柄
}THREADPARAM, *PTHREADPARAM;
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 数据仓库-信贷管理系统
- 如何搭建java开发环境
- 达达日志系统(一)收集
- hello node world
- WebApi中路由你不知道的事情
- 网络编程
- 调用dll相关
- 【郑轻-oj】-1048: 阶乘表(数据太大用double)
- android通过绑定service实现歌曲播放,并把歌词以不同色调动态绘出
- 阿里巴巴2016校招笔试题(含答案、解析)
- printf()格式
- Golang 连接MySql数据库使用方法
- Powerdesigner相关
- 使用 Scala 语言开发 Spark 应用程序