⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_41758.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:41758 发表者:泥巴鱼 发表日期:2003-05-29 11:04:40
<br>主题:用CSocket远程通讯时,怎么接收服务器端主动发来的数据?
<br>内容:&nbsp;&nbsp;各位好!我用CSocket类作远程通信,不知道怎么接收服务器端主动发来的数据?我知道在VB里面如果有数据到达,会触发datearrive事件,在这个事件里面用mysock.receive就好了,不知道在VC里面应该怎么判断?小弟是新手,刚刚学着写了一个最基本的C_S程序,在那里面客户端直接用mysock.send()之后就用mysock.receive().成功之后才想到:那如果服务器端主动发来数据怎么办?不会,只好向虾客们请教了.:)<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:ohye212 回复日期:2003-05-29 11:27:30
<br>内容:可以用MFC 里CSocket 的OnReceive();//有数据触发的事件<BR><BR>也可以开个线程来调用mysock.receive()来处理接收数据
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:泥巴鱼 回复日期:2003-05-29 11:59:09
<br>内容:&nbsp;&nbsp;ohye212兄能说的详细一点吗?我不知怎么开线程,也不知道OnReceive()怎么用,写在什么地方?它的参数nErrorCode应该是什么,我也不知道.我原来写的代码如下,是把sockClient.receive()放到OnReceive()函数里面就可以了吗?<BR>if(sockClient.Send(SendInfo.GetBuffer(0),SendInfo.GetLength())==SOCKET_ERROR )<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox("send fail!");<BR>&nbsp;&nbsp;&nbsp;&nbsp;return;<BR>}<BR><BR>char RecInfo[2000];<BR>sockClient.Receive(RecInfo,sizeof(RecInfo));<BR>AfxMessageBox(RecInfo);<BR>麻烦您了!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:ohye212 回复日期:2003-05-29 13:47:29
<br>内容:就在这个网站上就有很多例子!!你自己看看就知道了!!!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:泥巴鱼 回复日期:2003-05-29 15:39:08
<br>内容:ohye212大哥,我从中午翻到现在,下载了好几个示例,看的头昏也没有找到问题答案.您就当支持慈善事业,拯救弱智者一次,说的详细一点好吗?真的十分不好意思,也很着急.谢谢您了!!!!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:ohye212 回复日期:2003-05-29 16:42:50
<br>内容:把你的程序传上来我给你看看能不能帮你!!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:泥巴鱼 回复日期:2003-05-29 18:01:50
<br>内容:谢谢ohye212大哥!!这个是Client端
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:泥巴鱼 回复日期:2003-05-29 18:12:43
<br>内容:这个是Server端.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:泥巴鱼 回复日期:2003-05-29 18:25:41
<br>内容:我的email:rx_2000@163.com
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:泥巴鱼 回复日期:2003-05-30 09:14:19
<br>内容:我的做法是:<BR>&nbsp;&nbsp;&nbsp;&nbsp;新建类CClientSocket,重载OnReceive()函数.重载的代码如下:<BR>void CClientSocket::OnReceive(int nErrorCode) <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add your specialized code here and/or call the base class<BR>&nbsp;&nbsp;&nbsp;&nbsp;char RecInfo[2000];<BR>&nbsp;&nbsp;&nbsp;&nbsp;Receive(RecInfo,sizeof(RecInfo));<BR>&nbsp;&nbsp;&nbsp;&nbsp;AfxMessageBox(RecInfo);<BR>&nbsp;&nbsp;&nbsp;&nbsp;CSocket::OnReceive(nErrorCode);<BR>}<BR>但是从服务器端发过来的"Hello!"就显示不出.不知道错在哪儿?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:ohye212 回复日期:2003-05-30 10:30:53
<br>内容:改好了!调试了<BR><BR>自己看看好了!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:泥巴鱼 回复日期:2003-05-30 10:45:00
<br>内容:多谢,我马上下载!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:泥巴鱼 回复日期:2003-05-30 10:57:57
<br>内容:&nbsp;&nbsp;&nbsp;&nbsp;老大,下载的文件解压缩出错!我用的是winrar3.20版,已经下载了两次,出的错误都一样.是否因为太大,上传的时候截掉了一部分?能否分开再传一次?我要是早知道这么麻烦您,就定成100分了.多谢多谢!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:泥巴鱼 回复日期:2003-05-30 11:40:57
<br>内容:&nbsp;&nbsp;ohye212大哥,解压缩出来的客户端程序pro2能用,我看了一下,关键在于我原来的CClientSocket变量sockClient定义在ONOK()函数内部,所以不行的,应该改成用CClientSocket的成员变量MySocket.不知道我的理解对不对?真的十分感谢!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:ohye212 回复日期:2003-05-30 13:48:15
<br>内容:你说的差不多!!!<BR><BR>不过最好还是设置为全局的!!<BR><BR>因为在你以后的处理中还要用到它
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -