linux下tcp c程式設計

2021-10-07 21:40:56 字數 2287 閱讀 1874

windows下linux子系統(在我的部落格裡面有相關搭建教程)

選擇你想要放**的地方然後

mkdir classpro   #建立資料夾

cd classpro #進入資料夾

touch tcpclient.c #建立tcp客戶端

touch tcpserver.c #建立tcp服務端

tcp客戶端:

#include

#include

#include

#include

#include

#include

#include

#include

intmain

(int argc,

char

**ar**)

bzero

(&server_addr,sock_size)

; client_fd=

socket

(af_inet,sock_stream,0)

; server_addr.sin_family=af_inet;

server_addr.sin_port=

htons

(8000);

server_addr.sin_addr.s_addr=

inet_addr

(ar**[1]

);ret=

connect

(client_fd,

(struct sockaddr*

)&server_addr,sock_size);if

(ret<0)

printf

("connect successfully!\n");

while(1

)else

}close

(client_fd)

;return0;

}

tcp服務端:(這裡使用了多執行緒)

#include

#include

#include

#include

#include

#include

#include

#include

#define maxconn 100

struct session_message //服務端ip位址結構體

;void

*session_thread

(void

*arg)

//執行緒函式

write

(comm_fd,buff,count);}

else}}

intmain()

bzero

(&server_addr,sock_size)

; server_addr.sin_family=af_inet;

server_addr.sin_port=

htons

(8000);

server_addr.sin_addr.s_addr=inaddr_any;

setsockopt

(listen_fd,sol_socket,so_reuseaddr,

&i,sizeof

(int))

; ret=

bind

(listen_fd,

(struct sockaddr*

)&server_addr,sock_size);if

(ret==0)

ret=

listen

(listen_fd,maxconn);if

(ret==0)

while

((comm_fd=

accept

(listen_fd,

(struct sockaddr*

)&client_addr,

&sock_size)

)>=0)

close

(listen_fd)

;return0;

}

gcc tcpclient.c  -o tcpclient

gcc tcpserver.c -o tcpserver -lpthread

#編譯完之後我們可以看到生成的新的兩個二進位制檔案

#我們執行它

cliect端執行:./tcpcliet 伺服器ip 你的ip

#不搞兩個的頁可以用網路除錯助手自己的進行除錯

自此簡單的tcp開發結束。做個筆記而已,高手勿噴。

mysql效能測試方法主要介紹下tcpcopy

mysql常見效能測試方式 1 sysbench 這種的方式是能做基準測試,要先生成一些表,針對這些表操作,指令碼設計的表都比較簡單 2tpcc mysql 這個會生成乙個倉庫的oltp系統,然後進行測試,比sysbench生成的表要複雜,也更加符合線上的場景 3tcpcopy 此種方式直接拷貝線上...

Linux下程式設計

windows下我的環境為 windows10 vs2015 opencv3.4.0 opencv3.4.0 contrib python linux下我的環境為 ubuntu16004 也有ubuntu1804 opencv3.4.0 opencv3.4.0 contrib python gnu ...

Linux下程式設計

linux用不慣的很大乙個原因是終端下編譯。主要是平時win下也不怎麼用終端。最近剛剛發現gedit可以新增外部工具,執行shell命令。這不就行了,我tm之前怎麼沒想到呢。從終端中狂按up down解脫了。然後win下notepad linux下gedit 基本一樣嘛。gedit工具 一鍵編譯執行...