03 TCP套接字之socket函式

2021-09-11 03:16:51 字數 965 閱讀 3344

在執行網路i/o時, 要做的第一件事就是呼叫socket函式.

函式原型

#include

intsocket

(int family,

int type,

int protocol)

;

成功 : 返回非負描述符.

失敗 : 返回-1, 設定errno的值.

函式錯誤時返回-1, 但是也會設定相應的errno的值 :值含義

eacces

沒有許可權建立制定的domain的type的socket

eafnosupport

不支援所給的位址型別

einval

不支援此協議或者協議不可用

emfile

程序檔案表溢位

enfile

已經達到系統允許開啟的檔案數量,開啟檔案過多

enobufs/enomem

記憶體不足

eprotonosupport

制定的協議type在domain中不存在

函式引數

函式呼叫成功返回的是乙個檔案描述符, 畢竟在linux中萬物皆檔案. 既然返回的是檔案描述符, 那麼當我們在呼叫fork函式時一定要注意, 子程序會複製父程序的所有檔案描述符哦. 這個問題我們在之後來**.

函式的呼叫

socket函式是很容易上手的.

#include

int sockfd;

sockfd =

socket

(af_inet, sock_stream,0)

;if(sockfd <0)

exit

("socket"

);

總結

tcp套接字socket程式設計

套接字 進行網路通訊的一種手段,socket 流式套接字 sock stream 傳輸層基於tcp協議進行通訊 資料報套接字 sock dgram 傳輸層基於udp協議進行通訊 原始套接字 訪問底層協議的套接字 流式套接字 tcp服務端 from socket import 1 建立套接字 sock...

socket套接字 TCP使用

使用流程 建立套接字 connect鏈結tcp伺服器 命令 socket物件.connect 伺服器ip,伺服器port 3.收 發資料recv 接收資料的大小 send 傳送資料 4.關閉套接字 import socket def main 建立socekt物件 tcp socket socket...

套接字 Socket 定義

套接字介面可分為三類 公認埠 註冊埠 動態和 或私有埠 套接字,簡單的說就是通訊的兩方的一種約定,用套接字中的相關函式來完成通訊過程 應用層通過傳輸層進行資料通訊時,tcp和udp會遇到同時為多個應用程式程序提供併發服務的問題。多個tcp連線或多個應用程式程序可能需要通過同乙個 tcp協議埠傳輸資料...