📄 subject_44927.htm
字号:
<p>
序号:44927 发表者:风雷 发表日期:2003-06-24 23:03:17
<br>主题:关于网络阻塞问题?
<br>内容:我正在做一个关于聊天的程序!<BR>我没有用到csocket只是用api写的<BR>我的服务端在进入listen(监听)后,当你再用鼠标点击应用程序时,程序没有反应<BR>我知道是网络阻塞问题,请问这问题怎么处理啊?<BR>能详细说一下吗?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:xiongli 回复日期:2003-06-25 01:43:24
<br>内容:不是<BR>listen后,你的线程就挂在那里了<BR>他就不会往下面执行了<BR>正常的<BR>一般来说,你可以在一个worker线程中listen
<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-07-02 10:51:13
<br>内容:是不是要在主线程外要重新建立一个线程啊?<BR>具体应该怎么建立呢?<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-07-03 10:16:39
<br>内容:AfxBeginThread()<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>
<font color=red>答案被接受</font><br>回复者:DarkCoder 回复日期:2003-07-03 12:07:48
<br>内容:<BR>架构就是这样的,一定要给我分阿。<BR><BR>Main()<BR>{<BR> hThread = CreateThread(....,ListenThread,.....);<BR>}<BR><BR>DWORD WINAPI ListenThrad(void * pParam)<BR>{<BR> bind(....);<BR> listen(....);<BR> while(true)<BR> {<BR> newsocket = Accept();<BR> SomeStructs param;<BR> param.sa = newsocket;<BR> hThread = CreateThread(.........,WorkThread,&param,........);<BR> CloseHandle(hThread);<BR> }<BR>}<BR><BR>DWORD WINAPI WorkThread(void * pParam)<BR>{<BR> SomeStructs param = (SomeStruct)*pParam;<BR> SOCKET sa = param.sa;<BR> <BR> ...<BR> send(........);<BR> ...<BR> ...<BR> recv(........);<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-07-03 16:30:35
<br>内容:DarkCoder这位大哥真是幽默阿?给你纷还不行啊!<BR>不过还是要谢谢你了,我刚刚接触网络编程。以后多多指教阿<BR><BR>对了顺便问一下,在用mfc的csocket类进行编程时,要处理网络阻塞问题是不是也要用多线程阿?尤其他的办法可以处理这类问题吗?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:DarkCoder 回复日期:2003-07-03 16:45:03
<br>内容:可以用完成端口,不过非常复杂,也可以用非阻塞的socket,但总要找个时机检查阻塞函数的执行结果,所以还不如用线程简单。<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 + -