CSDN论坛 > 硬件/嵌入开发 > 嵌入开发(WinCE)

怎样结束一个线程处理过程中调用了socket的recv函数的线程啊!机器就像死机一样,好惨!!!!! [问题点数:100分,结帖人liucan2000]

Bbs1
本版专家分:0
结帖率 100%
CSDN今日推荐
Bbs7
本版专家分:13985
Blank
红花 2006年7月 移动平台大版内专家分月排行榜第一
2006年5月 硬件/嵌入开发大版内专家分月排行榜第一
2005年3月 硬件/嵌入开发大版内专家分月排行榜第一
2004年11月 硬件/嵌入开发大版内专家分月排行榜第一
2004年9月 硬件/嵌入开发大版内专家分月排行榜第一
Blank
黄花 2006年6月 硬件/嵌入开发大版内专家分月排行榜第二
2005年5月 硬件/嵌入开发大版内专家分月排行榜第二
2005年1月 硬件/嵌入开发大版内专家分月排行榜第二
2004年12月 硬件/嵌入开发大版内专家分月排行榜第二
2004年10月 硬件/嵌入开发大版内专家分月排行榜第二
Blank
蓝花 2005年8月 硬件/嵌入开发大版内专家分月排行榜第三
Bbs2
本版专家分:422
Bbs7
本版专家分:13786
版主
Blank
红花 2004年12月 硬件/嵌入开发大版内专家分月排行榜第一
Blank
黄花 2007年10月 硬件/嵌入开发大版内专家分月排行榜第二
2005年6月 硬件/嵌入开发大版内专家分月排行榜第二
Blank
蓝花 2004年11月 硬件/嵌入开发大版内专家分月排行榜第三
Bbs2
本版专家分:113
匿名用户不能发表回复!登录|注册
其他相关推荐
java多线程SOCKET程序的一个问题
去年的一个项目中,我设计了一个多线程的UDP通讯程式,由我方一台主机,分别对应四地发送接收数据包。在生产环境已经非常稳健的运行了1年。最近,随着业务的增加,连接的远端增加到了12个,也就是一个IP向12个IP发送接收数据包。我在主线程中,管理这12个独立的通讯线程,互不干扰,由于服务器是2U4核,所以该程式的设计具有一定可伸缩性。但是,最近维护人员告诉,发现会发生某地业务停顿。一检查,线程exce
多线程访问socket, 是否需要加锁?
同一个socket, 是否可以在两个线程中同时send 和 recv? 同一个socket, 是否可以在多个线程中同时send?
socket中send和recv函数的阻塞理解
首先要理解的是,缓冲区有两种。第一种是用户定义的缓冲区,就是send里的缓冲区参数。另一种就是套接字缓冲区,是由协议自定的。可以用getsockopt获取其大小,并用setsockopt重置其大小。发送的时候使用send实际上是从用户缓冲区发送到socket缓冲区中,至于数据真正何时发送给另一端则是由协议规定的。Recv也类似。 看了这段话之后,我使用Windsock先获取了socket缓冲
Send的基本规则 & 能否多个进程或线程同时向同一个Socket传递数据
一、Socket中send的普通执行流程。      当调用该函数时,send先比较待发送数据的长度len和套接字s的发送缓冲的长度,      (1) 如果len大于s的发送缓冲区的长度,该函数返回SOCKET_ERROR;      (2) 如果len小于或者等于s的发送缓冲区的长度,那么send先检查协议是否正在发送s的发送缓冲中的数据,就是等待协议把数据发送完      (3) 如
6.win32网络编程(二).recv函数的缓冲区大小的问题
继续之前的在VC++上的win32网络编程版本,这次试试在VS上运行: 开发环境:VS2015 和 VS2013 这次在跑之前的代码的时候,发现有几个bug: 1. 客户端并没有send,服务端会继续调用recv函数(而不是被阻塞),接收到一大片的空字符缓冲 发现好像是服务器的缓冲区大小大于客户端的,所以会调用recv函数2次 其实看到百度百科中对recv这个函数的解释中说到:
Linux网络编程--recv函数返回值详解
recv函数 int recv( SOCKET s, char FAR *buf, int len, int flags); 不论是客户还是服务器应用程序都用recv函数从TCP连接的另一端接收数据。 该函数的第一个参数指定接收端套接字描述符;  第二个参数指明一个缓冲区,该缓冲区用来存放recv函数接收到的数据;  第三个参数指明buf的长度; 第四个参数一般置0。 这里只描述同步S
send 和recv详解
int send( SOCKET s,      const char FAR *buf,      int len,      int flags );   不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。 客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。 该函数的第一个参数指定发送端套接字描述符; 第
查看某个程序都调用哪些API函数
用于查看某个程序都调用了哪些API函数,以此来了解某个程序的功能是如何实现的,可查看函数名称和库名,支持拖放操作
socket编程中send recv阻塞和非阻塞详解
int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。   该函数的第一个参数指定发送端套接字描述符;   第二个参数指明一个存放应用程序要发送数据
从另一个线程将recvfrom从阻塞状态唤醒
UDP的多线程程序,一般开一个线程循环调用recvfrom接收消息,当程序中止的时候,如果这个线程阻塞在recvfrom调用,并且没有消息到达,则这个线程无法终止,造成资源泄露等问题。 这里终止这个线程有六种方法: 1. 释放监听的fd,这个是最简单的方法,但是有一点要注意,就是close(fd)系统调用无效,必须要使用shutdown(fd, SHUT_RDWR)来将recvfrom唤醒,因
关闭