linux下 網路程式設計day2複習自查

2021-10-02 21:10:54 字數 2640 閱讀 3097

###一.基本步驟

1.客戶端

a.建立套接字

b.繫結自己,指定對方

c.發出連線請求

d.收發訊息

e.關閉套接字

2.服務端

a.建立套接字

b.繫結自己

c.監聽

d.建立連線

e.收發訊息

f.關閉套接字

###二.基本練習

server.c

#include

//printf

#include

//套接字函式

#include

//套接字函式

#include

//位元組序轉換

#include

//位元組序轉換

#include

//執行緒

#include

//bzero

//開啟執行緒,接收訊息

void

*rec_info

(void

*p)}

//發訊息

intmain()

//繫結自己

struct sockaddr_in myaddr,clientaddr;

myaddr.sin_family = af_inet;

myaddr.sin_port =

htons

(22333);

myaddr.sin_addr.s_addr =

inet_addr

("127.0.0.1");

if(bind

(sockfd,

(struct sockaddr *

)&myaddr,

sizeof

(myaddr)

)<0)

//監聽

listen

(sockfd,5)

;//建立連線

int len =

sizeof

(clientaddr)

;int connfd =

accept

(sockfd,

(struct sockaddr *

)&clientaddr,

&len);if

( connfd<0)

pthread_t id;

pthread_create

(&id,

null

,rec_info,

(void*)

&connfd)

;//傳送訊息

char buf[

1024];

while(1

)//關閉描述符

}

client.c

#include

//printf

#include

//套接字函式

#include

//套接字函式

#include

//位元組序轉換

#include

//位元組序轉換

#include

//bzero

#include

//開執行緒收訊息

void

*recv_info

(void

*p)}

intmain()

//指定對方,繫結自己

struct sockaddr_in myaddr,seraddr;

myaddr.sin_family = af_inet;

myaddr.sin_port =

htons

(22336);

myaddr.sin_addr.s_addr =

inet_addr

("127.0.0.1");

if(bind

(sockfd,

(struct sockaddr *

)&myaddr,

sizeof

(myaddr)

)<0)

seraddr.sin_family = af_inet;

seraddr.sin_port =

htons

(22333);

seraddr.sin_addr.s_addr =

inet_addr

("127.0.0.1");

//發起連線

int n =

connect

(sockfd,

(struct sockaddr *

)&seraddr,

sizeof

(seraddr));

if( n<0)

//開執行緒發訊息

pthread_t id;

pthread_create

(&id,

null

,recv_info,

(void*)

&sockfd)

;//收訊息

int len =

sizeof

(seraddr)

;char buf[

1024];

while(1

)//關閉描述符

}

Linux網路程式設計筆記day2(程序)

exec函式族 execlp p path 系統可執行程式 execl l list 使用者自定義可執行程式 execv v argv 命令列引數 execvp execve e environment 環境變數 只有失敗返回值 1 wait 殭屍程序 子程序結束,父程序沒有 子程序 注 如果想要 ...

程式語言 day 2

標準庫提供的一次讀寫乙個字元的函式 test 3 將輸入一次乙個字元的複製到輸出 include int main putchar c 輸出 printf count d,line d,space d n count,line,space return 0 檔案結束 eof end of file ...

python程式設計基礎day2

使用input輸入 input用於輸入資料給變數,無論輸入什麼都是字串 input括號中字串用於提示使用者,不用輸入 age input 請輸入你的年齡 print age 把字串age轉換為整型資料 age int age 轉換為浮點數 age float age print函式 作用 將資料顯示...