C语言实现点对点聊天程序
自己用C语言写了个简单的聊天程序,客户端和服务端能够彼此接受并显示对方发来的消息。使用fork()函数,每个端有两个进程,一个进程用于向对方发送消息,另一个进程接收对方发来的消息。并运用了信号的相关知识识别对方程序是否结束。具体代码如下: //p2pserver.c #include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <signal.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <error.h> #define ERR_EXIT(m) \ do \ { \ perror(m); \ exit (EXIT_FAILURE); \ } while ( 0 ); void handler( int sig) { printf ( "recv a sig = %d\n" , sig); exit (EXIT_SUCCESS); } int main( int argc, char *argv[]) { int listenfd; // listenfd = socket(PF_INET, SOCK