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
匿名用户不能发表回复!
其他相关推荐
Socket send函数和recv函数详解以及利用select()函数来进行指定时间的阻塞【转】
int send( SOCKET s,      const char FAR *buf,      int len,      int flags );   不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。 客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。 该函数的第一个参数指定发送端套接字描述符;
套接字的阻塞和非阻塞send/recv
先理一下阻塞和非阻塞的概念: 阻塞就是让当前调用线程一直处于停止等待当中,挂起的状态,线程函数会被卡住。 非阻塞则是不管运行结果如何,都会继续往下执行(往往都要处理很多返回结果),线程函数里一般都是一个循环,不停的轮询。 再理一下发送接收函数: send/sendto函数,只是把应用层的数据拷贝到内核发送缓冲区,并不保证数据一定会被发送到对端,真正执行发送及什么时候发送是由系统(协
C++编程-socket编程中为何要使用循环来调用阻塞式recv
        你是否奇怪阻塞式接收recv这样的函数为什么要用一个for循环才能收全所有的内容?至少其中一种可能性是因为UNIX的信号处理机制。        在我的编程理念中,UNIX下的信号是一个徒增麻烦的东西,这也许是非控制台的Windows程序中没有信号的原因。        试想,如果你写了一个程序,无论是一个7*24的,还是一次性运行的,你通常期望它做完一段完整的工作后才被停下来,而
socket的write/send还是是否是线程安全?
在多线程的网络服务器程序中, 对同一个客户端多线程同时发送数据是经常可能发生的事情, 也就是有可能会多 线程的对一个fd调用send/write, 那么这种操作是否需要加锁?并发写套接字是否导致系统缓冲区数据混乱呢? 网上搜 了下,有人说可以写,有人说不能,linux man page也没有说明。 看来需要写程序测试。 写了个server的代码进行 测试。 10个线程同时对一个fd进行
python socket.recv() 一直不停的返回空字符串,客户端怎么判断连接被断开?
python socket.recv() 一直不停的返回空字符串,客户端怎么判断连接被断开?
Linux网络编程--recv函数返回值详解
recv函数 int recv( SOCKET s, char FAR *buf, int len, int flags); 不论是客户还是服务器应用程序都用recv函数从TCP连接的另一端接收数据。 该函数的第一个参数指定接收端套接字描述符;  第二个参数指明一个缓冲区,该缓冲区用来存放recv函数接收到的数据;  第三个参数指明buf的长度; 第四个参数一般置0。 这里只描述同步S
C++ Socket send recv 循环发送和接收 阻塞与缓冲区
套接字的概念及分类 在网络中,要全局的标识一个参与通信的进程,需要三元组:协议,IP地址以及端口号。要描述两个应用进程之间的端到端的通信关联需要五元组:协议,信源主机IP,信源应用进程端口,信宿主机IP,信宿应用进程端口。为了实现两个应用进程的通信连接,提出了套接字的概念。套接字可以理解为通信连接的一端,将两个套接字连接在一起,可以实现不同进程之间的通信。 针对不同的通信需求,TCP/IP中...
解决socket关闭后read、recvfrom 等函数依旧无法退出阻塞
最近项目遇到一个问题,程序退出的时候资源没有正常释放。经过调试发现,原来是网络线程一直阻塞,导致一些必要的资源没有被释放,写了几个简单的测试程序调试了一下才明白,原来在Linux下直接close socket的文件描述符,并不会使程序中调用的一些阻塞式的socket函数(比如 read、recvfrom 等)退出阻塞,从而导致无法正常释放资源。简化示例如下。    下面是一个简化的UDP服务程序,...
SOCKET中的recv()接受比指定缓冲区大的数据包的问题
引子:发送的是1000字节:    send(socket,buf,1000,0);)。而设置接收的缓冲区大小是100字节:    recv( socket,buffer,100,flag);解决方法:写个循环接收(是个地球人就知道)!附加网上找的答复:1。发送时如果数据量太大,系统或网络会自动把数据分解成小块,如果你想自己把它分解也未尝不可,即把大量数据分成多次发送。至于接收
socket编程中send()和recv()参数解析
1.send 函数int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。该函数的第一个参数指定发送端套接字描述符;第二个参数指明一个存放应用程序要发送数据的缓
关闭
关闭