簡單的linux下C編寫的聊天室C Sdemo

2021-09-09 07:11:50 字數 2168 閱讀 7339

寫乙個簡單的聊天室,客戶端傳送訊息,服務端回送發的訊息的長度。

1.服務端** tcp_server.c

#include

#include

#include

#include

#include

#include

#include

#define port 8888

#define backlog 2 //偵聽佇列長度

int main(int argc , char *ar**)

bzero(&server_addr,sizeof(server_addr));

server_addr.sin_family = af_inet;

server_addr.sin_addr.s_addr = htonl(inaddr_any);//任意本地位址

server_addr.sin_port = htons(port);

err = bind(ss,(struct sockaddr *)&server_addr,sizeof(server_addr));

if(err<0)

err = listen(ss,backlog);

if(listen<0)

for(;;)

pid = fork();

if(pid == 0)}}

2.客戶端**

#include

#include

#include

#include

#include

#include

#include

#define port 8888

int main(int argc , char *ar**)

bzero(&server_addr,sizeof(server_addr));

server_addr.sin_family = af_inet;

server_addr.sin_addr.s_addr = htonl(inaddr_any);

server_addr.sin_port = htons(port);

inet_pton(af_inet,ar**[1],&server_addr.sin_addr);

connect(s,(struct sockaddr *)&server_addr,sizeof(struct sockaddr));

process_conn_client(s);

close(s);

}3.服務端與客戶端操作tcp_proccess.c

#include

void process_conn_server(int s)

sprintf(buffer,"%d bytes altogether\n",size);

write(s,buffer,strlen(buffer)+1);}}

void process_conn_client(int s)}}

4.寫乙個makefile編譯這三個檔案

all:client server

client:tcp_proccess.o tcp_client.o

gcc -o client tcp_proccess.o tcp_client.o

server:tcp_proccess.o tcp_server.o

gcc -o server tcp_proccess.o tcp_server.o

tcp_proccess.o:tcp_proccess.c

gcc -c -o tcp_proccess.o tcp_proccess.c

tcp_client.o:tcp_client.c

gcc -c -o tcp_client.o tcp_client.c

tcp_server.o:tcp_server.c

gcc -c -o tcp_server.o tcp_server.c

clean:

rm -f client server *.o

5.輸入make執行makefile生成可執行檔案。

6.先執行服務端./server

7.執行客戶端./client 127.0.0.1

然後就可以在客戶端輸入內容了。

hello

6 bytes altogether

nihao

6 bytes altogether

在linux下編寫簡單的c程式

最近開始學習linux程式設計,對於linux的命令,卻還不特別熟悉,在此記錄一下,學習linux的一些命令 首先ctrl alt t開啟終端,然後使用vim進行程式設計 vim hello.c 在hello.c中 按下 i 或者 insert 輸入以下內容 輸入完成後按 esc 輸入 wq儲存並退...

Linux環境下編寫簡單的Shell

使用程序建立 等待 終止等知識自主實現簡單的linuxshell命令列,linux環境 centos7.3 fork 函式有兩個返回值,它會給子程序返回0,給父程序返回子程序的pid,如果建立子程序失敗,則會返回 1。通過fork 建立的子程序與父程序會共享同乙份 因為 段的資料是唯讀的,不會發生寫...

Linux下 C 程式的編寫

linux下c 程式的編寫主要包括三個步驟 2 利用linux 下的gnu編譯器對源程式進行編譯,連線 3 執行程式。在三個步驟中,3是最簡單的,只要在linux命令列下執行如下命令即可。01為編譯生成的可執行檔案 01關於如何使用vim編輯器編寫源程式將在vim 用法詳細敘述。這裡只需知道利用如下...