Linux下簡單的socket程式設計

2021-09-09 03:49:13 字數 1409 閱讀 8396

其實,有過window網路程式設計經驗的人,會很快的熟悉簡單的linux網路程式設計,其中大部分有關socket的命令都是相似的,其中存在的區別有二點:

1.windows有關socket程式設計需要載入相關的鏈結庫,比如:ws2_32.lib,其中標頭檔案是,而linux下卻不需要載入這樣的連線庫,只要包含相關的標頭檔案就行。

2.linux中的裝置無關性,linux把一切的裝置,檔案,套接字都當成是檔案來讀寫,使用者只要知道他們的檔案描述符就可以對他們盡享相關的讀寫操作。

了解了這兩點後,我們就可以著手開始linux網路程式設計了。

首先,還有一點需要了解,一般乙個網路程式模型都具有服務端和客戶端,所以我們需要程式設計乙個客戶端和乙個服務端才能進行相互的通訊。

標頭檔案linux網路程式設計需要包含比較都的標頭檔案,很多人都不知道哪些資料結構被包含在哪些標頭檔案下

但是我們一般包含這些標頭檔案就基本可以滿足要求了。

#include

#include

#include

#include

#include

#include

#include

#include

#include

這次我實驗的是tcp連線迴圈伺服器

演算法大致如下:

socket();

bind();

listen();

while(1)

accept();

while(1)

read();

printf();

write(); 

客戶端socket();

conect()

while(1)

scanf();

write();

read();

printf();

我只有一台裝有linux的機器,還有一台只裝了windows,所以我利用windows telnet登陸到linux,在同一臺機器上做完了這次實驗

實驗結果大致如下:

gcc server.c -o server

gcc client.c -o client

windows機器dos中:./client

connect successfully to 172.18.137.157

please input communicate data: hello

172.18.137.157 say:hello too

linux:./server 6000(埠號)

connect successfully to 172.18.137.157

172.18.137.157 say:hello

please input communicate data:hello too

如果有朋友需要在這方面交流,可以qq我:276362907

簡單的Linux下的socket程式

和c語言教程一樣,我們從乙個簡單的 hello world 程式切入 socket 程式設計。本節演示了 linux 下的 server.cpp 是伺服器端 client.cpp 是客戶端 要實現的功能是 客戶端從伺服器讀取乙個字串並列印出來。伺服器端 server.cpp include incl...

Linux下的簡單socket程式設計示例

api中用到的結構體 1.struct sockaddrstruct sockaddr sockaddr包含兩部分內容 1.短整型sa family定義了位址家族型別,這個型別會用於socket 函式2.14位元組的sa data陣列預留儲存本身的位址注意 1.原本沒有sa len2.根據sa fa...

Linux 下基於socket的簡單網路聊天室

原文 經過親測除錯修改了部分內容 服務端程式 server.c include include 包含套接字函式庫 include include 包含af inet相關結構 include 包含af inet相關操作的函式 include include include include includ...