socket程式設計之點對點聊天程式

2021-08-06 01:47:05 字數 1394 閱讀 6071

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 其餘兩個反...