在网络编程时我们可能会遇到的三种情况

(1)当fork子进程时,必须捕获SIGCHLD信号;

    Signal(SIGCHLD, sig_chld); /* must call waitpid() */

(2)当捕获信号时,必须处理被中断的系统调用;

   struct sigaction act, oact;

   act.sa_handler = func;
   sigemptyset(&act.sa_mask);

   act.sa_flags |= SA_RESTART;//设置自动重启被中断的系统调用

(3)SIGCHLD的信号处理函数必须正确编写,应使用waitpid函数以免留下僵死进程。

时间: 2024-10-18 17:45:04

在网络编程时我们可能会遇到的三种情况的相关文章

java 网络编程-得到ip对象InetAddress的三种方式

网络编程:跟服务器底层源码有关B/S在公网上(浏览器访问)服务器端和客户端只写一端,c/s在局域网上(网吧)服务器端和客户端都要写,B/S是大大的C/S协议:端口之间的交流更畅通,不同软件有各自的端口tcp/udp/http ip:定位一个节点使用静态方法getLocalHost方法创建InetAddress对象,InetAddress没有构造器InetAddress addr = InetAddress.getLocalHost();addr.getHostAddress() 本机地址addr

关于VS2012 生成或调试时无响应的另一种情况

最近在做一个项目,差不多结尾了. 然后某天发现,生成和调试都会卡好一会(差不多要1分钟吧)才可以正常开始. 然后各种找问题,重装VS,重装系统,什么中文输入法,结果都一样. 最后只能怀疑是项目 问题了,后来想起来主窗口使用了一个自己写的用户控件,这个控件是容器来的,然后里面的控件全部变成空白了,当然之前是正常的,后来不知道为什么变成这样,然后我就自己手动将控件添加回去这个控件内 在Form1.Designer.cs文件内的 this.xxxx.Controls.Add(this.button3)

VMware虚拟机上网络连接(network type)的三种模式

VMware虚拟机上网络连接(network type)的三种模式 VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式. 1.bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.在桥接模式下,你需要手工为虚拟 系统配置IP地址.子网掩码,而且还要和宿主机器处于同一网段,这样虚

JVM 在遇到OOM(OutOfMemoryError)时生成Dump文件的三种方式

JVM 在遇到OOM(OutOfMemoryError)时生成Dump文件的三种方式,以及如何使用Eclips Memory Analyzer(MAT)插件进行堆内存分析. 方法一: jmap -dump:format=b,file=文件名 [pid] 例如: jmap -dump:format=b,file=/usr/local/base/02.hprof 12942 方法二: 让JVM在遇到OOM(OutOfMemoryError)时生成Dump文件,需要配置一些信息 -XX:+HeapDu

网络编程时注意的问题小结

1.网络编程在自己定义结构体实现协议的时候,一定要注意字节对齐这个问题.否则sizeof和强制转换指针的时候都会出现很难发现的bug. 什么是字节对齐自行百度. 1 #pragma pack (1)//字节对齐的控制!非常注意! 2 //定义一个以太网头部 3 typedef struct ehhdr 4 5 { 6 7 UCHAR eh_dst[6]; /* destination ethernet addrress */ 8 9 UCHAR eh_src[6]; /* source ethe

[转]VMware虚拟机上网络连接(network type)的三种模式--bridged、host-only、NAT

转自:http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/03/15/1985084.html VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式. 1.bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.在桥接模式下

VMware虚拟机上网络连接(network type)的三种模式--bridged、host-only、NAT

VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式. 1.bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.在桥接模式下,你需要手工为虚拟 系统配置IP地址.子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信.同时,由于这个虚拟系统是局域网中的一个

VMware workstations使用NAT网络连接模式无法获取IP的几种情况

在使用VMware workstations安装了centos6.5学习linux系统期间,突然有一天linux无法正常获取到IP,出现以下几种情况. 网上给出了很多答案. 一.报错为 Bringing up interface eth0: Device eth0 does not seem to be present,delaying initialization 错误原因,是因为linux网卡绑定了原mac地址导致 解决方法为 1.使用ifcnfig -a 查看当前主机mac地址 2.修改e

Java编程:删除 List 元素的三种正确方法

删除 List 中的元素会产生两个问题: 删除元素后 List 的元素数量会发生变化: 对 List 进行删除操作可能会产生并发问题: 我们通过代码示例演示正确的删除逻辑 package com.ips.list; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; public class A