p2psrv.c:
#include
#include
#include
#include
#include
#include//解決父程序退出,子程序不退出
#include
#include
#include
#include
#define err_exit(m) \
do \
while(0)
void handler(int sig)
void do_service(int conn)
else
if(ret==-1)
fputs(recvbuf,stdout);
write(conn,recvbuf,ret);//buf中資料被複製到了tcp傳送緩衝區
}}int main(void)
; while(fgets(sendbuf,sizeof(sendbuf),stdin)!=null)//從標準輸入獲取資料
exit(exit_success);//將子程序退出,要不它會fork()
}else
//父程序用來獲取資料(接收資料程序)
else
if(ret==-1)
fputs(recvbuf,stdout);
// write(conn,recvbuf,ret);//buf中資料被複製到了tcp傳送緩衝區
}printf("parent close\n");
kill(pid,sigusr1);//父程序向子程序傳送訊號
exit(exit_success);
} return
0;}
p2pcli:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define err_exit(m) \
do \
while(0)
void handler(int sig)
int main()
fputs(recvbuf,stdout);
}close(sock);
kill(getppid(),sigusr1);
}else
//傳送資料
;while(fgets(sendbuf,sizeof(sendbuf),stdin) !=null)
close(sock);
}return
0;}
Socket程式設計之聊天室
1.單執行緒模式 建立服務端 第一步,準備位址和埠 第二步,建立乙個serversocket物件 第三步,等待客戶端連線 最後一步,資料接收和傳送。public class singlethreadserver catch ioexception e public class singlethrea...
網路程式設計之socket雙方聊天練習
伺服器demo include include include include include include include include intmain int argc,char ar char msg 1024 struct sockaddr in s addr struct sockad...
socket03 小變形,點對點通訊聊天
回顧一下上篇中提到的幾個常用的結構和函式 最常用的ipv4的sockaddr struct sockaddr in 總共是16個位元組 uint16 t htons uint16 t hostshort 轉port uint32 t htonl uint32 t hostlong 轉ip 其餘兩個反...