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

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

linux socket

2019-11-11 03:31:55
字體:
來源:轉載
供稿:網友
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
色狠狠av一区二区三区香蕉蜜桃| 亚洲九九九在线观看| 中文字幕在线观看日韩| 欧美大片网站在线观看| 欧美极度另类性三渗透| 亚洲国产97在线精品一区| 国产精品视频99| 国产欧美中文字幕| 成人a免费视频| 国产成人福利网站| 亚洲成人久久一区| 精品免费在线观看| 欧美日韩爱爱视频| 国产亚洲精品久久久| 亚洲人成电影网站色xx| 91av福利视频| 亚洲一区亚洲二区亚洲三区| 久久精品成人一区二区三区| 韩国19禁主播vip福利视频| 久久久欧美精品| 国产日韩欧美影视| 国产香蕉一区二区三区在线视频| 精品人伦一区二区三区蜜桃网站| 亚洲成人激情在线| 亚洲一区精品电影| 亚洲一级一级97网| 538国产精品一区二区在线| 亲子乱一区二区三区电影| 久久夜色撩人精品| 亚洲国产欧美自拍| 国产精品久久久久久婷婷天堂| 韩国国内大量揄拍精品视频| 日韩电影在线观看中文字幕| 欧美超级乱淫片喷水| 久久69精品久久久久久久电影好| 亚洲美女精品成人在线视频| 欧美电影在线观看高清| 日韩黄色在线免费观看| 欧美成人激情视频免费观看| 亚洲精品免费一区二区三区| 91夜夜揉人人捏人人添红杏| 奇米一区二区三区四区久久| 欧美色另类天堂2015| 欧美日韩中文字幕日韩欧美| 俺也去精品视频在线观看| 91国产精品电影| 国产成人久久久精品一区| 91精品国产自产91精品| 中国china体内裑精亚洲片| 热久久视久久精品18亚洲精品| 欧美电影免费播放| 成人啪啪免费看| 国产欧美一区二区三区视频| 伊人久久久久久久久久久| 成人免费观看a| 91在线中文字幕| 亚洲免费伊人电影在线观看av| 国产玖玖精品视频| 91在线视频一区| 国产精品成av人在线视午夜片| 亚洲网站在线看| 国产精品久久久久久久久久ktv| 久久久www成人免费精品张筱雨| 国产亚洲aⅴaaaaaa毛片| 亚洲香蕉在线观看| 91亚洲精品在线观看| 欧美成人免费在线观看| 国产热re99久久6国产精品| 国产日韩欧美夫妻视频在线观看| 欧美老少做受xxxx高潮| 日韩av在线直播| 亚洲国产免费av| 一本一本久久a久久精品综合小说| 欧美中文在线观看国产| 国产日韩欧美成人| 久久精品人人做人人爽| 欧美亚洲午夜视频在线观看| 日韩成人免费视频| 欧美日韩第一视频| 成人h片在线播放免费网站| 欧美日韩亚洲精品一区二区三区| 欧美激情一级精品国产| 精品国产成人在线| 日韩高清电影免费观看完整版| 日本精品久久电影| 一本一本久久a久久精品综合小说| 色综合老司机第九色激情| 91在线直播亚洲| 久久视频免费在线播放| 久久久91精品国产一区不卡| 亚洲欧美综合v| 国产精品6699| 国产精品va在线播放我和闺蜜| 日本亚洲精品在线观看| 国产69精品久久久久9999| 热99精品里视频精品| 在线播放日韩专区| 亚洲一区二区三区四区视频| 欧美老女人在线视频| 欧美高跟鞋交xxxxhd| 亚洲美腿欧美激情另类| 97精品在线视频| 欧美视频免费在线| 国产一区二区丝袜| 日本成人在线视频网址| 色噜噜狠狠色综合网图区| 欧美激情手机在线视频| 亚洲欧美日韩国产成人| 亚洲新中文字幕| 亚洲视频视频在线| 国产精品扒开腿做爽爽爽的视频| 欧美成人一区二区三区电影| 色综合久久天天综线观看| 96sao精品视频在线观看| 欧美最猛性xxxxx免费| 亚洲男人天堂2023| 中文字幕九色91在线| 久久精品国产成人精品| 亚洲欧美变态国产另类| 中文字幕精品在线| 精品爽片免费看久久| 国产综合在线观看视频| 日本久久精品视频| 国产视频观看一区| 国产精品久久一| 伊人久久久久久久久久| 性视频1819p久久| 国产伦精品免费视频| 日本久久久久久久久| 热99精品里视频精品| 国产综合久久久久久| 色偷偷噜噜噜亚洲男人的天堂| 懂色av一区二区三区| 欧美影院成年免费版| 欧美精品videossex性护士| 久热爱精品视频线路一| 国产91色在线播放| 九九热这里只有在线精品视| 午夜伦理精品一区| 在线观看免费高清视频97| 少妇高潮久久久久久潘金莲| 亚洲国产成人在线播放| 国产精品免费一区豆花| 亚洲丁香婷深爱综合| 欧美精品性视频| 中文字幕在线视频日韩| 亚洲福利精品在线| 国产精品免费在线免费| 欧美国产一区二区三区| 成人精品视频在线| 亚洲人成网站在线播| 欧美日韩国产影院| 亚洲第一福利在线观看| 国产91精品久久久久久| 亚洲精品日韩丝袜精品| 日韩在线视频观看正片免费网站| 国产精品福利在线观看| 深夜福利日韩在线看| 欧美性猛交xxxxx水多| 欧美性受xxxx黑人猛交| 隔壁老王国产在线精品| 亚洲xxxx3d| 国模极品一区二区三区| 26uuu日韩精品一区二区|