亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

linux socket

2019-11-11 04:47:15
字體:
來源:轉載
供稿:網友
int socket(int domain,int type,int PRotocl);domain:協議族選項,AF_INET(ipv4),AF_INET6(ipv6)type:SOCK_STREAM(字節流)、SOCK_DGRAM(數據報流)protocl:通常為0;int bind(socket s,(sockaddr*)&sever,socklen_t len);s:套接字sever:綁定的地址len:字節長度int listen(socket s,int backlog);backlog:等待連接隊列中的最大數目,SOMAXCONN:128int connect(socket s,(sockaddr*)sever,socket_t len);socket accept(socket s,(sockaddr*)client,socklen_t clientlen);返回一個新的socket描述符fcntl將socket設置成阻塞模式和非阻塞模式int fcntl(int fd,int cmd,...)cmd:GETFL(獲取文件描述符)、SETFL(設置文件描述符)設置成非阻塞int flag=fcntl(sock,GETFL,0);flag|=O_NONBLOCK;fcntl(sock,SETFL,flag);變成阻塞int flag=fcntl(sock,GETFL,0);flag&=~O_NONBLOCK;fcntl(sock,SETFL,flag);ioctlsocket(s,long cmd,u_long* argp);cmd:輸入輸出控制命令,FIONBIO,FIONREAD,SIOCATMARK;argp:指向cmd指針;FIONBIO:默認從阻塞模式轉非阻塞,或者相反轉變,*argp=TRUE(非0),socket變非阻塞,*argp=FALSE(0),socket阻塞;unsigned long ul=1;ioctlsocket(s,FIONBIO,(unsigned long*)&ul);int getsockopt(socket s,int level,int optname,void* optval,socket_t *len);int setsockopt(socket s,int level,int optname,void* optval,socket_t *len);levle:選項協議層,SOL_SOCKET(普通套接字),IPPROTO_IP(IP),IPPROTO_TCP(TCP)optname:不同選項層對應不同的取值范圍,SO_RCVBUFoptval:指向返回項的緩沖optlen:選項長度設置接收緩沖區例子int rcvbuf=1024*10;

setsockopt(s,SOL_SOCKET,SO_RCVBUF,(char*)&rcvbuf,sizeof(int));

示例:

#ifndef _MY_SOCKET_#define _MY_SOCKET_#ifdef WIN32#include <Windows.h>#include <WinSock.h>#else#include <sys/socket.h>#include <sys/types.h>#endifclass Socket{public:	enum EMode{BLOCKING,NOBLOCKING};public:	Socket();	~Socket();	int Connect(char *destaddr,unsigned short port);	int Bind(char *paddr,int port);	int Listen();	int Accept();	void Ioctlsocket(EMode mode);	void SetBufferSize();	int RecvData(char *recvbuf,int len);	int SendData(char *sendbuf,int len);private:	int s;//監聽socket	int socks;//建聯socket};#endif
#include "Socket.h"Socket::Socket(){#ifdef WIN32	/* 加載socket dll 庫,第一個調用的函數	WSAStartup(Word wVersionRequired,LPWSADATA lpWSAData);	wVersionRequired:動態庫版本,MAKEWORD(X,Y)指定參數;	lpWSAData:動態庫相關信息*/	LPWSADATA lpWSAData={0};	int iRet=WSAStartup(MAKEWORD(2,2),&lpWSAData);	if(iRet!=0){		WSACleanup();	}	#else 	#endif	s=socket(AF_INET,NULL,SOCK_STREAM);			  }Socket::~Socket(){	closesocket(s);}int Socket::Bind(char* paddr,int port){	sockaddr_in severaddr;	severaddr.sin_addr.s_addr=inet_addr(paddr);	severaddr.sin_family=AF_INET;	severaddr.sin_port=htons(port);	return bind(s,(sockaddr*)&severaddr,sizeof(severaddr));}int Socket::Connect(char *destaddr,unsigned short port){	sockaddr_in server;	server.sin_addr.s_addr=inet_addr(destaddr);	server.sin_family=AF_INET;	server.sin_port=htons(port);	return connect(s,(sockaddr*)&server,sizeof(server));}int Socket::Listen(){	listen(s,4);}int Socket::Accept(){	sockaddr_in client;	int client_len=sizeof(client);	/*client 內容接受后客戶填充*/	int socks=accept(s,(sockaddr*)&client,&client_len);	if(socks==-1){		return false;	}	return true;}void Socket::Ioctlsocket(EMode mode){	/*ioctlsocket(s,long cmd,u_long* argp);	cmd:輸入輸出控制命令,FIONBIO,FIONREAD,SIOCATMARK;	argp:指向cmd指針;	FIONBIO:默認從阻塞模式轉非阻塞,或者相反轉變,*argp=TRUE(非0),socket變非阻塞,*argp=FALSE(0),socket阻塞;	*/	if(mode==EMode::NOBLOCKING)	{		unsigned long ul=1;		ioctlsocket(s,FIONBIO,(unsigned long*)&ul);	}	else{		unsigned long ul=0;		ioctlsocket(s,FIONBIO,(unsigned long*)&ul);	}	}void Socket::SetBufferSize(){	long rcvbuf=1024*10;	setsockopt(s,SOL_SOCKET,SO_RCVBUF,(char*)&rcvbuf,sizeof(long));}int Socket::RecvData(char *recvbuf,int len){	return recv(s,recvbuf,len,0);}int Socket::SendData(char *sendbuf,int len){	return send(s,sendbuf,len,0);}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品久久久久久久久青青| 欧美日韩一区二区免费在线观看| 一区二区三区视频观看| 美女福利视频一区| 日本一区二区在线播放| 成人免费在线视频网站| 97超碰蝌蚪网人人做人人爽| 欧美激情国内偷拍| 日韩精品久久久久久福利| 俺去啦;欧美日韩| 97国产真实伦对白精彩视频8| 亚洲国产精品推荐| 精品视频久久久久久久| 91精品国产乱码久久久久久久久| 国产欧美 在线欧美| 久久综合亚洲社区| 欧美激情videos| 久久成人精品一区二区三区| 亚洲综合在线做性| 久久综合免费视频| 久久天天躁狠狠躁夜夜躁2014| 亚洲欧美制服另类日韩| 亚洲国产精品va在看黑人| 在线观看中文字幕亚洲| 亚洲激情视频在线播放| 久久久精品一区二区三区| 国产精品久久久久av| 欧美成人激情图片网| 亚洲国产日韩欧美在线动漫| 亚洲www永久成人夜色| 欧美一区二三区| 精品中文字幕久久久久久| 亚洲乱码国产乱码精品精天堂| 国模吧一区二区| 欧美日韩国产123| 国产精品黄页免费高清在线观看| 日本成人在线视频网址| 国产精品久久久精品| 国产精品福利在线观看| 亚洲一区二区三区xxx视频| 日韩在线资源网| 国产精品99久久99久久久二8| 伊人久久久久久久久久| 日韩视频欧美视频| 亚洲美女www午夜| 日韩高清免费在线| 成人性生交xxxxx网站| 95av在线视频| 国产精品99久久久久久久久久久久| 欧美做爰性生交视频| 国产精品观看在线亚洲人成网| 亚洲午夜色婷婷在线| 日韩在线视频中文字幕| 亚洲天堂男人天堂女人天堂| 欧美日韩国产综合视频在线观看中文| 狠狠躁18三区二区一区| 日本亚洲欧美成人| 久99九色视频在线观看| 欧美精品第一页在线播放| 日韩免费精品视频| 国产精品久久久久久久久久三级| 国产精品丝袜视频| 日韩电影中文字幕在线| 久久99久久久久久久噜噜| 亚洲字幕在线观看| 久久久精品欧美| 高潮白浆女日韩av免费看| 国产不卡视频在线| 国产999精品视频| 亚洲精品女av网站| 欧美大片欧美激情性色a∨久久| 2025国产精品视频| 亚洲成人av资源网| 欧美精品中文字幕一区| 国产啪精品视频网站| 夜色77av精品影院| 欧美中文字幕在线播放| 欧美成年人在线观看| www.日韩不卡电影av| 神马久久桃色视频| 国产精品免费久久久| 久久久久久久久中文字幕| 欧美成人精品一区二区三区| 久久躁狠狠躁夜夜爽| 综合136福利视频在线| 日韩精品在线免费观看| 国产成人精品综合久久久| 久久亚洲影音av资源网| 在线日韩日本国产亚洲| 日韩成人av在线播放| 97涩涩爰在线观看亚洲| 久久久久国产精品一区| 日本精品va在线观看| 青草成人免费视频| 亚洲男人的天堂网站| 国产欧美日韩精品专区| 欧美日韩免费在线观看| 亚洲成人a**站| 91精品国产一区| 亚洲精品www| 欧美俄罗斯性视频| 久久精品久久久久久国产 免费| 欧美老肥婆性猛交视频| 性日韩欧美在线视频| 一本一本久久a久久精品综合小说| 久久精品2019中文字幕| 欧洲永久精品大片ww免费漫画| 久久精品在线播放| 国产精品日韩在线| 亚洲一区二区少妇| 亚洲男人天堂古典| 色综合久久精品亚洲国产| 精品久久久久久久久久ntr影视| 精品人伦一区二区三区蜜桃网站| 91香蕉亚洲精品| 久久精品一偷一偷国产| 欧美日韩一区二区免费在线观看| 亚洲国产精品系列| 久久久精品国产一区二区| 日日噜噜噜夜夜爽亚洲精品| 亚洲影院污污.| 992tv在线成人免费观看| 欧美性猛交xxxx免费看| 国产精品成人一区二区三区吃奶| 91青草视频久久| 亚洲少妇激情视频| 97在线看免费观看视频在线观看| 国产精品久久婷婷六月丁香| 永久免费精品影视网站| 精品久久久久久国产91| 韩国精品美女www爽爽爽视频| 日韩美女在线观看| 欧美视频13p| 色综合老司机第九色激情| 国产精品爽黄69| 精品国产欧美一区二区五十路| 欧美亚洲午夜视频在线观看| 最新的欧美黄色| 亚洲xxx自由成熟| 久久久久久久久久久91| 国产福利精品在线| 国产日产久久高清欧美一区| 国产成人福利视频| 亚洲热线99精品视频| 亚洲国产精品网站| 欧美激情在线视频二区| 欧美日韩午夜视频在线观看| 在线看日韩av| 亚洲免费视频一区二区| 国产91在线播放精品91| 国产精品久久久久久久久借妻| 成人自拍性视频| 在线播放日韩精品| 日韩欧美视频一区二区三区| 久久免费观看视频| 日韩一区二区三区国产| 最新国产精品拍自在线播放| 免费不卡欧美自拍视频| 日本精品视频网站| 日本一区二区不卡| 精品视频久久久| 亚洲高清久久网| 久久精品成人一区二区三区| 国产69精品久久久久9|