1. 程式人生 > >Python socket程式設計之(二):socket的選項設定

Python socket程式設計之(二):socket的選項設定

1.簡介

socket選項主要是由setsockoptgetsockopt函式完成

2.函式介紹

int getsockopt(int sockfd, int level, int optname,
                   void *optval, socklen_t *optlen);


int setsockopt(int sockfd, int level, int optname,
                   const void *optval, socklen_t optlen);

3.引數列表

 

4.例項

設定socket套接字可以複用地址

int opt = 1;setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));

設定socket套接字KeepLive

int opt = 1;setsockopt(sockfd, SOL_SOCKET, SO_KEEPALIVE, &opt, sizeof(opt));

設定TCP Socket:禁用納格演算法

setsockopt(sockfd, IPPROTO_TCP, TCP_NODELAY, (int[]){1}, sizeof(int));

設定TCP Socket:禁用Delay ACK(

需要在每次recv後呼叫)

setsockopt(sockfd, IPPROTO_TCP, TCP_QUICKACK, (int[]){1}, sizeof(int));

參考 http://www.cnblogs.com/ggjucheng/archive/2012/02/17/2355874.html


相關推薦

Python socket程式設計socket選項設定

1.簡介 socket選項主要是由setsockopt和getsockopt函式完成 2.函式介紹 int getsockopt(int sockfd, int level, int optname,                    void *optval,

Windows網路程式設計Socket簡介

Socket簡介 Socket被稱為套接字,描述了IP和埠等資訊,是一個通訊鏈的控制代碼。 微軟專門開發了一套支援多種網路協議的網路程式設計介面,叫做Winsock,Winsock是Windos SDK的一部分,全稱Windows Sockets API。它對多種協議做了封裝,S

識別MNIST資料集Python實現神經網路

在這篇文章當中,我們將會用根據MNIST的資料集,跟大家介紹神經網路進行分類的基本原理和方法。 1.神經網路的正向計算 如果我們把神經網路當作一個黑盒來看,它的結構大概是這樣的: 輸入(層):一張圖片 計算過程 : 神經網路 輸出 (層): 這張圖

套接字Socket 套接字程式設計附例項

TCP/IP地址家族統一的套接字地址結構定義如下: struct sockaddr_in { short sin_family; //指定地址家族,即地址格式 unsigned short

分布式鎖實現大型連續劇Zookeeper

rem trac mem finally 大型 oca tom 不存在 zkclient 前言 緊跟上文的:分布式鎖實現(一):Redis ,這篇我們用Zookeeper來設計和實現分布式鎖,並且研究下開源客戶端工具Curator的分布式鎖源碼 設計實現 一、基本算法 1.

Python資料處理Numpy屬性

簡單介紹一下numpy中常見的三個屬性: ndim:    維度 shape:  行數和列數 size:     元素個數 使用numpy首先要匯入模組,為了方便

談談單元測試測試工具 JUnit 3

前言 上一篇文章《 為什麼要進行煩人的單元測試?》討論了一下現階段軟體開發中,程式設計師們測試情況的現狀。這篇文章中,我打算介紹一下單元測試的工具(外掛),並且推薦大家以後在開發中,真正的用上單元測試,用好單元測試。

影象處理特徵提取Haar特徵

1,Haar特徵: Haar特徵分為:邊緣特徵,線性特徵,中心特徵,對角線特徵。特徵模板內有白色和黑色兩種矩形,並定義該模板的特徵值為白色矩形畫素減去黑色矩形畫素和。Haar特徵值反映了影象的灰度變化情況。例如:臉部的一些特徵能有矩形特徵簡單的描述,如眼睛要比臉頰顏色深,鼻

Python 入門程式設計

Python 入門程式設計題:11-20 本系列部落格都是一些比較簡單的題目,適合新手,因為我就是新手~非常歡迎大家一起討論,讓我們一起進步! 11、題目:兩個 3 行 3 列的矩陣,實現其對應位置的資料相加,並返回一個新矩陣: X = [[12,7,3], [4,5

Python 入門程式設計答案

Python 入門程式設計題:11~20(答案) 提示:最好還是先思考,先編寫,再看答案哦 ^_^ 11. X = [[12,7,3], [4,5,6], [7,8,9]] Y = [[5,8,1], [6,7,3], [4,5,9]] resul

Shell指令碼程式設計簡單的Shell指令碼練習

練習題1:互動式指令碼(使用者決定變數內容) 程式碼 [[email protected] bin]$ vim showname.sh #!/bin/bash # Program: # User inputs his first name and last

Python-MongoDB連線搭建Python連線MongoDB

作者:WenWu_Both 出處:http://blog.csdn.net/wenwu_both/article/ 版權:本文版權歸作者和CSDN部落格共有 轉載:歡迎轉載,但未經作者同意,必須保留此段宣告;必須在文章中給出原文連結;否則必究法律責任

Linux 平臺下 Python 指令碼程式設計入門

在“Linux 平臺下 Python 指令碼程式設計入門”系列之前的文章裡,我們向你介紹了 Python 的簡介,它的命令列 shell 和 IDLE(LCTT 譯註:python 自帶的一個 IDE)。我們也演示瞭如何進行算術運算、如何在變數中儲存值、還有如何列印那些值到螢幕上。最後,我們通過一

立體匹配[MC-CNN] 2015CVPR: Stereo Matching by Training a Convolutional Neural Netw

1 摘要 基於patch的提取與比較,學習其相似性得到一個matching cost,並將正確匹配的patch定義為正樣本,其他為負樣本。 後處理包括:cross-based cost aggregation, semiglobal matching, a

Python+OGR庫學習讀取點向量檔案,複製特定屬性值點並另存為shp檔案

程式碼思路: 1、匯入相關庫包,切換到當前資料夾 2、註冊驅動,開啟點向量檔案,獲取圖層 3、建立輸出檔案,並獲取圖層(沒有屬性定義) 4、定義輸出圖層欄位屬性:假設已知檔案所有屬性欄位定義(即ID和cover) (1)讀取輸入檔案中某一要素 (2)獲取ID、cover欄位定義 (3

Python高階程式設計上下文管理器

上下文管理器 定義 語法 1. with語句 2. enter和exit方法 3. 異常處理 何時編寫上下文管理器 定義 上下

python實戰筆記10使用pyinstaller打包python程式

做了一個圖形介面的小程式,想要分享給別人的話,就要把它打包成exe檔案,這樣其他人不用安裝python環境還有各種庫就可以使用了。 在打包之前,要保證你當前使用的python環境是“乾淨”的,什麼是乾淨的,為什麼要是乾淨的的呢?這是因為我們打包的時候只需要把程式中用到的包打

Python與機器學習Windows下科學計算環境搭建

【注意:安裝numpy和scipy模組時注意與Python版本保持一致】 1.安裝numpy 測試: 沒有報錯,bingo~ 2.安裝scipy 在官網中下載scipy3.4版本:scipy-0

網路遊戲《叢林戰爭》開發與學習粘包分包現象以及服務端解析資料

1. 粘包和分包 粘包和分包是利用Socket在TCP協議下內部的優化機制。粘包指的是傳送資料比較頻繁,但資料量較少,此時客戶端不會直接將資料包傳送給伺服器,而是會與其它的資料包進行一個結合,例如遊戲中的位置資訊就是屬於頻繁傳送但資料量小的資訊,此時如果每條資料都S

python知識梳理-基礎資料型別

python3 pycharm   一、字串 用單引號、雙引號、三引號引用起來 a='test,abc' b="quit,wer" c='''i love_you,name!''' print(a,b,c) print(type(a),type(b),type(c))--------