客户端能发消息给服务器,但服务器不能发给客户端

zhanlonglong zhanlonglong 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

void CTCPDlg::OnBnClickedOk() //发送
{
if (m_clientSocket.m_bConnected)//客户端
{
m_clientSocket.m_nLength=MsgEdit.GetWindowText
(m_clientSocket.m_szBuffer, sizeof(m_clientSocket.m_szBuffer));
m_clientSocket.AsyncSelect(FD_WRITE);
MsgEdit.SetWindowText("");
}
else if(m_srvrSocket.m_bConnected)//服务器
{
m_srvrSocket.m_nLength=MsgEdit.GetWindowText
(m_srvrSocket.m_szBuffer, sizeof(m_srvrSocket.m_szBuffer));
/*int ret = m_srvrSocket.Send(m_srvrSocket.m_szBuffer, m_srvrSocket.m_nLength);
if(ret == SOCKET_ERROR)
if(GetLastError()==WSAEWOULDBLOCK)
AfxMessageBox("The socket is marked as nonblocking and the requested operation would block");
else if(GetLastError()==WSAEINVAL)
AfxMessageBox("The socket has not been bound with Bind");
else if(GetLastError()==WSAESHUTDOWN)
AfxMessageBox("The socket has been shut down");
else if(GetLastError()==WSAENOTCONN)
AfxMessageBox("The socket is not connected");*/
m_srvrSocket.AsyncSelect(FD_WRITE);
MsgEdit.SetWindowText("");
}
else
AfxMessageBox("Not Connected!");

}
void MySock::OnSend(int nErrorCode)
{
Send(m_szBuffer,m_nLength,0);
m_nLength=0;
memset(m_szBuffer,0,sizeof(m_szBuffer));
//继续提请一个“读”的网络事件,接收Server消息
AsyncSelect(FD_READ);
CAsyncSocket::OnSend(nErrorCode);
}

看了两天,不知道哪里出错,单步调试发现,服务器端根本没有触发OnSend,而客户端正常。
如果加上上面的注释部分,服务器发送会提示"The socket is not connected"。
还请各位大侠救命!
...全文

相关推荐

Java版钉钉群定时发消息(读取本地txt)

总结来说,实现Java版钉钉群定时发消息(读取本地txt)需要以下步骤:1. 创建钉钉群机器人并获取Webhook地址。2. 使用Java HTTP客户端发起POST请求,发送消息到Webhook。

wx_dy611688

通过Python实现微信自动发消息

启动微信客户端。2. 使用`pyautogui`定位到登录按钮并点击。3. 输入账号和密码(可预先存储),再次使用`pyautogui`模拟输入。4. 登录成功后,找到通讯录界面,并截取屏幕。5.

警官001

python操作微信自动发消息的实现(微信聊天机器人)

总的来说,Python操作微信自动发消息的核心在于模拟用户输入和交互,通过系统级别的API来控制应用程序。虽然这种方法有一定的实用性,但稳定性受到微信客户端变化的影响,且不适用于大规模的自动化任务。

weixin_38553466

c的socket服务器跟客户端

该项目实现了基于TCP协议的C++ socket通信,包含客户端和服务器端。服务器绑定本地6000端口,监听并接受客户端连接,进行最多五次双向消息交互。客户端连接服务器后可收发消息,支持循环聊天。程序

Li,Ming J M

瑞友客户端登录GS_ERP时,报错: 由于安全许可证服务器不能提供许可证,连接被中断的解决方法

瑞友客户端登录GS_ERP时,报错:由于安全许可证服务器不能提供许可证,连接被中断的解决方法瑞友客户端登录GS_ERP时,报错:由于安全许可证服务器不能提供许可证,连接被中断的解决方法是由于远程桌面连接协议

cfr2k
评论 9
收藏 已收藏
分享
返回顶部
zhanlonglong
网络编程 18,356 成员 64,161 内容