linux下udp通信的客户端、服务器端的c语言程序 用int argc,char *argv[] 能够输入ip和端口号
2个回答
展开全部
占个位置,晚上回去给你发,我做的是C语言的socket通信的小程序,我是先创建了一个守护进程,我的守护进程,做的任务就是你所说的中转程序的工作,通信的客户端,先把消息发给守护进程,再由守护进程转发给另一个客户端。
守护进程:
守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程常常在系统引导装入时启动,在系统关闭时终止。Linux系统有很多守护进程,大多数服务都是通过守护进程实现的,同时,守护进程还能完成许多系统任务,例如,作业规划进程crond、打印进程lqd等(这里的结尾字母d就是Daemon的意思)。
由于在Linux中,每一个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端就称为这些进程的控制终端,当控制终端被关闭时,相应的进程都会自动关闭。但是守护进程却能够突破这种限制,它从被执行开始运转,直到整个系统关闭时才退出。如果想让某个进程不因为用户或终端或其他地变化而受到影响,那么就必须把这个进程变成一个守护进程。
守护进程:
守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程常常在系统引导装入时启动,在系统关闭时终止。Linux系统有很多守护进程,大多数服务都是通过守护进程实现的,同时,守护进程还能完成许多系统任务,例如,作业规划进程crond、打印进程lqd等(这里的结尾字母d就是Daemon的意思)。
由于在Linux中,每一个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端就称为这些进程的控制终端,当控制终端被关闭时,相应的进程都会自动关闭。但是守护进程却能够突破这种限制,它从被执行开始运转,直到整个系统关闭时才退出。如果想让某个进程不因为用户或终端或其他地变化而受到影响,那么就必须把这个进程变成一个守护进程。
追问
好的 谢谢啊
追答
文件1;base.h
/************************base.h***************************************/
*
* 创建一个守护进程,
*
*/
#include
#include
#include
#include
#include
#define acceptbuf (300)
#define portID (11014)
#define true (1)
#define false (0)
int wardProcess()
{
//第一步:创建一个子进程,在后台后台运行
int pid,i=0;
pid=fork();
if(pid>0)
exit(0);
else if(pid0)
exit(0);
else if(pid<0)
printf("子进程创建失败!\n");
//第四步:关闭由父进程打开的文件描述符
for(i=0;i<sysconf(_SC_OPEN_MAX);i++)
close(i);
//第五步:改变当前工作目录
//chdir("/");
//第六步:改变文件的拥有权限
umask(0);
//第七步:发送信号,父进程忽略子进程的结束信号,交给init进程处理
signal(SIGCHLD,SIG_IGN);
return 0;
}
不好意思,代码粘不了,这样吧一部分代码,我粘到我空间里,----百度空间,供大家参考
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询