原帖由 Cyberman.Wu 于 2009-3-5 19:59 发表
我怀疑是你创建的服务器纯种在客户端关闭时处理上有问题吧,刚一个线程非法退出(产生Segmentation fault)时就会导致整个进程终止。你给的代码不全也看不出啥来。
原帖由 墨小白 于 2009-3-6 09:57 发表
我说的是正常退出情况下 recv函数会返回0
对于非法退出的话 可以设置一个心跳机制
client每间隔M秒发一个心跳包给server
若连续N秒server端没有收到client的心跳包,则认为client已经去见马克思了
原帖由 liying_gg 于 2009-3-13 10:55 发表
给你一个正确的serverside。
/* serverside.c - a simple server application */
/* Copyright 1984-2006 Wind River Systems, Inc. */
/*
modification history
--------------------
01a,12oct06,d ...
原帖由 xinuaile2003 于 2009-3-13 11:37 发表
你使用的是创建一个进程(fork),而不是一个线程(phtread)。socket发送数据可以使用send函数不?
我的系统中有好几个线程呢,在其中一个线程使用fork函数,是不是会在子进程中创建所有的线程呢?
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |