您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CreateSocket函数代码示例

51自学网 2021-06-01 20:15:09
  C++
这篇教程C++ CreateSocket函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CreateSocket函数的典型用法代码示例。如果您正苦于以下问题:C++ CreateSocket函数的具体用法?C++ CreateSocket怎么用?C++ CreateSocket使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CreateSocket函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: main

int main(int argc, char **argv){	Preferences::Instance()->SetFile("/boot/home/config/settings/RemoteControl.perfs");		args.porti=4321;	args.ports=4322;	args.passwd=0;		parse(argc, argv);		MyApp *app=new MyApp();		int32 socki=CreateSocket(args.porti);	int32 socks=CreateSocket(args.ports);		if((socki<0) || (socks<0))		return 1;		new InputListener (socki, args.passwd);	new ScreenListener(socks, args.passwd);		app->Run();		return 0;}
开发者ID:puckipedia,项目名称:RemoteControl,代码行数:25,


示例2: CreateSocket

void UdpSocket::CreateConnection(){#ifdef ENABLE_IPV6#ifdef IPPROTO_IPV6	if (IsIpv6())	{		if (GetSocket() == INVALID_SOCKET)		{			SOCKET s = CreateSocket(AF_INET6, SOCK_DGRAM, "udp");			if (s == INVALID_SOCKET)			{				return;			}			SetNonblocking(true, s);			Attach(s);		}		return;	}#endif#endif	if (GetSocket() == INVALID_SOCKET)	{		SOCKET s = CreateSocket(AF_INET, SOCK_DGRAM, "udp");		if (s == INVALID_SOCKET)		{			return;		}		SetNonblocking(true, s);		Attach(s);	}}
开发者ID:f059074251,项目名称:interested,代码行数:31,


示例3: CreateSocket

int EgSock::Connect(const char* ip, uint16_t port, function<void(sp_EgSock)> callback) {	_fd = CreateSocket();	SetNonblock(fd);	SetNodelay(fd);	_peer_ip = ip;	_port = port;	_state = EG_SOCK_CONNECTING;	_callback = callback;	sockaddr_in serv_addr;	SetAddr(ip, port,  &serv_addr);	if (connect(_fd, (sockaddr*)&serv_addr, sizeof(serv_addr)) == SOCKET_ERROR) {		if (!((errno == EINPROGRESS) || (errno == EWOULDBLOCK))) {			loge("connect failed, err_code=%d", errno);			close(_fd);			throw egex("connect failed, errno=%d", errno);		}	} else {		_state = EG_SOCK_CONNECTED;		callback(shared_from_this());	}	return _fd;}
开发者ID:narychen,项目名称:eg,代码行数:25,


示例4: Listen

int CLS_TCPSvr::Listen(){    char *strIP;    if(m_iStatus==SS_UNUSED)        if(CreateSocket()<0)            return -1;    if(m_iStatus!=SS_LISTEN)    {        if(m_iStatus!=SS_BOUND)            if(Bind()<0)                return -2;        if (listen(m_iSocket, 5)<0)         {            CloseSocket();            return -3;        }        if(!m_iLocalPort)        {            strIP=GetLocalHost(&m_iLocalPort);            if(strIP)                strcpy(m_strLocalIP, strIP);        }        m_iStatus=SS_LISTEN;    }    return 0;}
开发者ID:cocti-zhonghao,项目名称:fj_callSign,代码行数:32,


示例5: SendData

//  Write a socketwxInt32 BufferedSocket::SendData(const wxInt32 &Timeout){       wxInt32 BytesSent;        if (CreateSocket() == false)        return 0;    // clear it    memset(m_SendBuffer, 0, MAX_PAYLOAD);        // copy data    size_t WrittenSize = m_SendBufferHandler->CopyTo(m_SendBuffer,                                                       MAX_PAYLOAD);    // Creation of this will start the stop watch    wxStopWatch sw;                    // send the data    BytesSent = send(m_Socket, (const char *)m_SendBuffer, WrittenSize, 0);    // set the start ping    m_SendPing = sw.Time();        CheckError();                // return the amount of bytes sent    return BytesSent;}
开发者ID:JohnnyonFlame,项目名称:odamex,代码行数:29,


示例6: CreateSocket

nsresultKeyStoreConnector::CreateListenSocket(struct sockaddr* aAddress,                                      socklen_t* aAddressLength,                                      int& aListenFd){  ScopedClose fd;  nsresult rv = CreateSocket(fd.rwget());  if (NS_FAILED(rv)) {    return rv;  }  rv = SetSocketFlags(fd);  if (NS_FAILED(rv)) {    return rv;  }  if (aAddress && aAddressLength) {    rv = CreateAddress(*aAddress, *aAddressLength);    if (NS_FAILED(rv)) {      return rv;    }  }  // Allow access for wpa_supplicant (different user, different group)  //  // TODO: Improve this by setting specific user/group for  //       wpa_supplicant by calling |fchmod| and |fchown|.  //  chmod(KEYSTORE_SOCKET_PATH, S_IRUSR|S_IWUSR|                              S_IRGRP|S_IWGRP|                              S_IROTH|S_IWOTH);  aListenFd = fd.forget();  return NS_OK;}
开发者ID:MekliCZ,项目名称:positron,代码行数:35,


示例7: memccpy

int Client::Run(const char* pIP, unsigned short uPort, const char * pFileName){    int iRet = 0;    if (pIP == NULL)    {        iRet = -1;        return iRet;    }    memccpy(m_sIPAddress, pIP, 0, sizeof(m_sIPAddress) - 1);    m_sIPAddress[sizeof(m_sIPAddress) - 1] = 0;    m_uPort = uPort;    if (pFileName != NULL) {        m_RequireType = 2; //File        memccpy(m_sFilename, pFileName, 0, sizeof(m_sFilename) - 1);        m_sFilename[sizeof(m_sFilename) - 1] = 0;    }    else    {        m_RequireType = 1; //DIR    }    CreateSocket();    ConnectSocket();    return iRet;}
开发者ID:hank-sunday,项目名称:DataHub-Daemon,代码行数:25,


示例8: BindCompletionPort

DWORD CEgTcpDriver::CreateAcceptSocket(BOOL bBindIocp){    DWORD       dwRecvNumBytes = 0;     	DWORD		dwRes;    if (bBindIocp)    {		m_ListenSocketContext.m_ConnectioID.m_Socket = m_ListenSocket;		m_ListenSocketContext.m_pIOContext.m_IoOperation = ClientIoAccept;        dwRes = BindCompletionPort(m_ListenSocketContext);        if (dwRes != 0)            return dwRes;    }    m_ListenSocketContext.m_pIOContext.m_SocketAccept = CreateSocket();    if (INVALID_SOCKET == m_ListenSocketContext.m_pIOContext.m_SocketAccept)        return WSAGetLastError();    int nRet = AcceptEx(            m_ListenSocket,             m_ListenSocketContext.m_pIOContext.m_SocketAccept,            (LPVOID)(m_ListenSocketContext.m_pIOContext.m_ReceiveBuffer.buf),            0,            sizeof(SOCKADDR_IN) + 16,            sizeof(SOCKADDR_IN) + 16,            &dwRecvNumBytes,            (LPOVERLAPPED) &(m_ListenSocketContext.m_pIOContext.m_SendOverlapped)            );    if (nRet == SOCKET_ERROR && (ERROR_IO_PENDING != WSAGetLastError())) 		return WSAGetLastError();	return 0;}
开发者ID:AlexS2172,项目名称:IVRMstandard,代码行数:33,


示例9: Bind

	virtual bool	Bind( const CIPAddr *pAddr )	{		if ( !CreateSocket() )			return false;    		return BindPart2( pAddr );	}
开发者ID:RaisingTheDerp,项目名称:raisingthebar,代码行数:7,


示例10: CreateSocket

DWORD WINAPI CEgTcpDriver::CreateListenSocket(){    SOCKADDR_IN si_addrlocal;    int         nRet;    LINGER      lingerStruct;    lingerStruct.l_onoff = 0;    lingerStruct.l_linger = 0;    m_ListenSocket = CreateSocket();    if (INVALID_SOCKET == m_ListenSocket)        return WSAGetLastError();    si_addrlocal.sin_family = AF_INET;    si_addrlocal.sin_port = htons(m_usServerPort);    si_addrlocal.sin_addr.s_addr = htonl(INADDR_ANY);           nRet = bind(m_ListenSocket, (struct sockaddr *)&si_addrlocal, sizeof(si_addrlocal));    if (SOCKET_ERROR == nRet)         return WSAGetLastError();    nRet = listen(m_ListenSocket, SOMAXCONN);    if (SOCKET_ERROR == nRet)         return WSAGetLastError();    	return 0;}
开发者ID:AlexS2172,项目名称:IVRMstandard,代码行数:27,


示例11: PortTransfer_1

BOOL PortTransfer_1(WORD ListenPort, char *szIP, WORD wPort){ HANDLE hThread; DWORD dwThreadId; SOCKET AcceptSocket; TransferParam<ADDRESS, SOCKET> ConfigInfo; _snprintf(ConfigInfo.GlobalData.szIP, ADDRSIZE, "%s", szIP); ConfigInfo.GlobalData.wPort = wPort; //监听个服务端口,即映射端口 SOCKET localsockid = CreateSocket(INADDR_ANY, ListenPort); if(localsockid <= 0) goto error; while(1) {  printf("Accepting new Client...");  AcceptSocket = accept(localsockid, NULL, NULL);  if(AcceptSocket == INVALID_SOCKET)   goto error;  nTimes++;  printf("OK./r/n");  //将接受到的客户请求套接字转到新的线程里处理  //然后继续等待新的请求  ConfigInfo.LocalData.Push(AcceptSocket);  hThread = CreateThread(NULL, 0, PortTransfer_1, (LPVOID)&ConfigInfo, NULL, &dwThreadId);  if(hThread)   CloseHandle(hThread);  else   Sleep(1000); }error: printf("Error./r/n"); closesocket(localsockid); return false;}
开发者ID:GeeksRoad,项目名称:MyProxy,代码行数:34,


示例12: CreateSocket

void SocketEngine::sendData(const char* data){    if (m_socket==NULL) {        CreateSocket();    }        if (m_socket==NULL) {        cout<<"Socket创建失败"<<endl;        return;    }        try {    cocos2d::CCLog("send() datas : %s /n/n",data);    m_socket->SendData(data, strlen(data)+1);    }catch (SocketException &excep) {        cout<<"收到参数意外"<<endl;        cocos2d::CCLog("sendData recvDatas Error: %s /n/n",(const char*)excep);        return;    }    //    strcpy(outData, data);    cout<<"开始线程接受Socket数据"<<endl;    if(pthread_create(&pthead_rec, NULL, reciveData, this)!=0){                //pthead_recx线程标示,reciveData回调函数, m_socket传入的参数                cout<<"创建reciveData失败"<<endl;            }    }
开发者ID:wwb0709,项目名称:feichuan,代码行数:35,


示例13: Attach

int UdpSocket::Bind(SocketAddress& ad, int range){	if (GetSocket() == INVALID_SOCKET)	{		Attach(CreateSocket(ad.GetFamily(), SOCK_DGRAM, "udp"));	}	if (GetSocket() != INVALID_SOCKET)	{		SetNonblocking(true);		int n = bind(GetSocket(), ad, ad);		int tries = range;		while (n == -1 && tries--)		{			ad.SetPort(ad.GetPort() + 1);			n = bind(GetSocket(), ad, ad);		}		if (n == -1)		{			Handler().LogError(this, "bind", Errno, StrError(Errno), LOG_LEVEL_FATAL);			SetCloseAndDelete();#ifdef ENABLE_EXCEPTIONS			throw Exception("bind() failed for UdpSocket, port:range: " + Utility::l2string(ad.GetPort()) + ":" + Utility::l2string(range));#endif			return -1;		}		m_bind_ok = true;		m_port = ad.GetPort();		return 0;	}	return -1;}
开发者ID:f059074251,项目名称:interested,代码行数:31,


示例14: main

int main(int argc, char *argv[]){    if (argc != 3)    {        printf("%s serverhost serverport/n", argv[0]);        exit(0);    }    // get the server host info    //    int serverport = atoi(argv[2]);    int err;    struct hostent hp;    char buf[1024];    unsigned long hostAddr = 0;    if((gethostbyname_r(argv[1], &hp, buf, sizeof(buf), &err) == NULL))    {        printf("unable to resolve host address(%s)/n", argv[1]);        exit(0);    }    hostAddr = ((struct in_addr*)hp.h_addr)->s_addr;    while (1)    {        // Create the socket        //        CreateSocket(hostAddr, serverport);        }}
开发者ID:pp7462-git,项目名称:sandbox,代码行数:31,


示例15: CreateSocket

int SocketInfo::Create(const std::string& context) const {    auto types = android::base::Split(type(), "+");    int flags =        ((types[0] == "stream" ? SOCK_STREAM : (types[0] == "dgram" ? SOCK_DGRAM : SOCK_SEQPACKET)));    bool passcred = types.size() > 1 && types[1] == "passcred";    return CreateSocket(name().c_str(), flags, passcred, perm(), uid(), gid(), context.c_str());}
开发者ID:MoKee,项目名称:android_system_core,代码行数:7,


示例16: CreateSocket

nsresultNfcConnector::CreateStreamSocket(struct sockaddr* aAddress,                                 socklen_t* aAddressLength,                                 int& aStreamFd){  ScopedClose fd;  nsresult rv = CreateSocket(fd.rwget());  if (NS_FAILED(rv)) {    return rv;  }  rv = SetSocketFlags(fd);  if (NS_FAILED(rv)) {    return rv;  }  if (aAddress && aAddressLength) {    rv = CreateAddress(*aAddress, *aAddressLength);    if (NS_FAILED(rv)) {      return rv;    }  }  aStreamFd = fd.forget();  return NS_OK;}
开发者ID:MekliCZ,项目名称:positron,代码行数:26,


示例17: Create

		U1 NetServer::Create(){				//创建SOCKET			if(!CreateSocket())				return	false;				U16	PORT	=	Converter::ToU16(m_Info.strPort);				// 绑定socket到一个本地地址 			sockaddr_in sin; 			sin.sin_family = AF_INET; 			sin.sin_port = htons(PORT); 			sin.sin_addr.S_un.S_addr = INADDR_ANY; 			if (::bind(m_Socket, (LPSOCKADDR)&sin, sizeof(sockaddr_in)) == SOCKET_ERROR) 			{ 				OutputDebugStringA("绑定失败/n");				return	false; 			}				// 设置socket进入监听状态 			if (::listen(m_Socket, 10) == SOCKET_ERROR) 			{ 				OutputDebugStringA("监听失败/n"); 				return	false; 			} 				//启动监听线程			m_ThreadListen.Start(m_Socket,this);			//启动发送线程			m_ThreadSend.Start(this);						return	true;		}
开发者ID:ingeyu,项目名称:airengine,代码行数:35,


示例18: Handler

int SctpSocket::Bind(SocketAddress& ad){	if (!ad.IsValid())	{		Handler().LogError(this, "SctpSocket", -1, "invalid address", LOG_LEVEL_ERROR);		return -1;	}	if (GetSocket() == INVALID_SOCKET)	{		Attach(CreateSocket(ad.GetFamily(), m_type, "sctp"));	}	if (GetSocket() != INVALID_SOCKET)	{		int n = bind(GetSocket(), ad, ad);		if (n == -1)		{			Handler().LogError(this, "SctpSocket", -1, "bind() failed", LOG_LEVEL_ERROR);#ifdef ENABLE_EXCEPTIONS			throw Exception("bind() failed for SctpSocket, port: " + Utility::l2string(ad.GetPort()));#endif		}		return n;	}	return -1;}
开发者ID:BornHunter,项目名称:CGSF,代码行数:25,


示例19: CloseSocket

BOOL CServerSocet::StartServer(CString* sError){	if(bCreateSocket)		CloseSocket(sError);		if(!bInitWinSocket)		if (!StartWinSock(sError)) return FALSE;	if (!SocketGetHostName(sError)) return FALSE;	if (!CreateSocket(sError)) return FALSE;	if (!LinkSoketPort(sError)) return FALSE;	if (!LinkWindowSocket(hWnd,sError)) return FALSE;	if (!ListenSocket(sError)) return FALSE;	sokClientSocket = new stSockets *[iMaxCol];	int i;	for(i=0;i<iMaxCol;i++)	{		sokClientSocket[i] = new (stSockets);		sokClientSocket[i]->dBase = NULL;		sokClientSocket[i]->sUserIP = _T("");		sokClientSocket[i]->bAdmin = FALSE;		sokClientSocket[i]->sDataStart = _T("");		sokClientSocket[i]->sok = NULL;		sokClientSocket[i]->hThread = 0;	}		bStatus = TRUE;	return TRUE;}
开发者ID:BeL1kOFF,项目名称:SHATE,代码行数:29,


示例20: main

int main(int argc, char* argv[]) {    //sending = true;    //Socket socket();    InitializeSockets();    CreateSocket();    if (sending) {      //SendPacket(data, sizeof(data));    }    if (!gameCanStart) {      printf("Waiting for players to connect.../n");      FindPlayers();    }    ReceivePacket();    ShutdownSockets();    std::cin.get();    return 0;}
开发者ID:craigthelinguist,项目名称:maoristone,代码行数:27,


示例21: ConnectTo

DWORD cClientSocket::ConnectTo(DWORD u32_ServerIP, USHORT u16_ServerPort){	DWORD u32_Error = ERROR_SUCCESS;		if (CreateSocket())	{		u32_Error = WSAGetLastError();		cout << "Create socket failed with error " << u32_Error << endl;		return u32_Error;	}		sockaddr_in kAddressStruct;	ZeroMemory(&kAddressStruct, sizeof(kAddressStruct));	kAddressStruct.sin_family = AF_INET;	kAddressStruct.sin_port = htons(u16_ServerPort);	kAddressStruct.sin_addr.s_addr = u32_ServerIP;	do	{		if (connect(m_hSocket, (LPSOCKADDR)&kAddressStruct, sizeof(SOCKADDR_IN)) != 0)		{			cout << "Could not connect to server. (" << WSAGetLastError() << ")" << endl;		}		else		{			cout << "Got connection with server, start working..." << endl;			return u32_Error;		}		Sleep(5000);	} while (true);}
开发者ID:mrbean88,项目名称:tcp-serv-cli,代码行数:34,


示例22: m_cserIP

CBlockingUDPSocket::CBlockingUDPSocket() :	m_cserIP(),	m_Socket( 0 ),	m_pImpl( new CImpl ){	CreateSocket(); }
开发者ID:Au-heppa,项目名称:source-sdk-2013,代码行数:7,


示例23: runThreadedSocket

void*runThreadedSocket(void *argv){    char **argvptr = (char **)argv;    printf("socket> thread launching/n");    CreateSocket(argvptr);    return (void*)NULL; }
开发者ID:pp7462-git,项目名称:sandbox,代码行数:8,


示例24: get_network_thread_for_new_connection

void NetworkManager::AcceptNewConnection(){    NetworkThread& worker = get_network_thread_for_new_connection();    SocketPtr connection = CreateSocket(worker);    acceptor_->async_accept(connection->socket(),        boost::bind(&NetworkManager::OnNewConnection, this, connection, boost::asio::placeholders::error));}
开发者ID:beyourself,项目名称:RustEmu-Core,代码行数:8,


示例25: Connect

int CLS_UDP::Connect(){    char *strIP;    static struct sockaddr_in sockAddr;    if(m_iStatus==SS_UNUSED)    {        if(CreateSocket()<0)            return -1;    }    if(m_iStatus!=SS_CONNECT)    {        if(m_iStatus!=SS_BOUND)        {            if(Bind()<0)                return -1;        }        memset(&sockAddr, 0, sizeof(sockAddr));        sockAddr.sin_family = AF_INET;        sockAddr.sin_addr.s_addr = inet_addr(m_strPeerIP);        sockAddr.sin_port = htons(m_iPeerPort);        if(connect(m_iSocket, (struct sockaddr *)&sockAddr, sizeof(sockAddr))<0)        {#ifdef _WIN32            m_iSocketError=GetLastError();//            if(!(m_iSocketError==WSAEINPROGRESS || m_iSocketError==WAEISCONN))            if(m_iSocketError!=WSAEISCONN)            {                if(m_iSocketError==WSAEINVAL)                    CloseSocket();#else            m_iSocketError=errno;//            if(!(m_iSocketError==EINPROGRESS || m_iSocketError==EISCONN))            if(m_iSocketError!=EISCONN)            {                if(m_iSocketError==EINVAL)                    CloseSocket();#endif                return -3;            }        }        if(!(m_strLocalIP[0]||m_iLocalPort))        {            strIP=GetLocalHost(&m_iLocalPort);            if(strIP)                strcpy(m_strLocalIP, strIP);        }        m_iSocketError=0;        m_iStatus=SS_CONNECT;    }    return 0;}
开发者ID:cocti-zhonghao,项目名称:fj_callSign,代码行数:57,


示例26: socket_

SocketHandle::SocketHandle(SocketEventHandle *eventHandle,SocketEventHandle *continueHandle):    socket_(INVALID_SOCKET),    eventHandle_(eventHandle),    continueHandle_(continueHandle){    ZeroMemory(&localAddr_,sizeof(SOCKADDR_IN));    ZeroMemory(&remoteAddr_,sizeof(SOCKADDR_IN));    CreateSocket();}
开发者ID:HunterChen,项目名称:iocp,代码行数:9,


示例27: MAKEWORD

HANDLE S3PDBSocketServer::Start(){    HANDLE hRet = NULL;    if ( ( NULL != m_hServer )            || ( NULL == m_piRunSignal )            || ( NULL == m_pSocketPool )            || ( NULL == m_hEnablePool ) )    {        hRet = NULL;        return hRet;    }    // The follow code is used to initialize    // the environment for Windows OS platform    // and should be removed or changed when    // replanted to other platforms.    //------>BEGIN    WORD wVersionRequired = MAKEWORD(1,1);    WSADATA WSAdata;    if ( 0 != WSAStartup( wVersionRequired, &WSAdata ) )    {        hRet = NULL;        return hRet;    }    //<------END    if ( INVALID_SOCKET == m_Socket )    {        if ( FALSE == CreateSocket() )        {            hRet = NULL;            return hRet;        }    }    // Start up server thread    //------>BEGIN    if ( NULL != m_pSocketPool )    {        m_pSocketPool->Init( m_Socket, m_hEnablePool );        m_pSocketPool->Start();    }    *m_piRunSignal = 1;    m_ServerParam.piRunSignal = m_piRunSignal;    m_ServerParam.pSocketPool = m_pSocketPool;    m_ServerParam.serverSocket = m_Socket;    m_hServer =        KPICreateThread( S3PDBSocketServer::StartServer, &m_ServerParam, &m_dwServerThreadId );    hRet = m_hServer;    //<------END    return hRet;}
开发者ID:ueverything,项目名称:mmo-resourse-1,代码行数:56,


示例28: main

// Send 2 pipelined HTTP requests 1 GET and 1 POST //main(int argc, char *argv[]){    if (argc != 7)    {        printf("%s serverhost serverport myport postbodylen geturl posturl/n",                                                                     argv[0]);        exit(0);    }    CreateSocket(argc, argv);}
开发者ID:pp7462-git,项目名称:sandbox,代码行数:12,


示例29: SocketServer_Run

int SocketServer_Run(SocketServer* self, char * listening_port_number){	self->itsPort = atoi(listening_port_number);	StartWSA(self);	CreateSocket(self);	BindToSocket(self);	WaitForConnection(self);		Shutdown(self);    return 0;}
开发者ID:adamblack1,项目名称:cslim,代码行数:11,


示例30: SelectWorker

    void Listener<SocketType>::BeginAccept()    {        auto worker = SelectWorker();        auto socket = worker->CreateSocket();        m_acceptor->async_accept(socket->GetAsioSocket(),            [this, worker, socket] (const boost::system::error_code &ec)        {            this->OnAccept(worker, socket, ec);        });    }
开发者ID:Ghaster,项目名称:mangos-classic,代码行数:11,



注:本文中的CreateSocket函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ CreateSolidBrush函数代码示例
C++ CreateShader函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。