⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 socket.cpp

📁 Elementary Stream Guide
💻 CPP
字号:
/* YUNTAI KYONGAdvanced Internet Serviceterm project*/#include "socket.h"#include <stdio.h>boolCSocket::startup(){		WORD wVersionRequested;	WSADATA wsaData;	int err; 	wVersionRequested = MAKEWORD( 2, 2 ); 	err = WSAStartup( wVersionRequested, &wsaData );		if ( err != 0 ) {		fprintf(stderr,"WSAStartup failed...\n");		return false;	}	fprintf(stderr,"WSAStartup success...\n");	return true;}boolCSocket::open(struct sockaddr *name, int namelen, int port){	struct sockaddr_in s;	    if ((m_sock = socket(AF_INET, SOCK_DGRAM, 0)) < 0)    {		perror("socket");		return false;	}	    s.sin_family		= AF_INET;    s.sin_addr.s_addr	= htonl(INADDR_ANY);    s.sin_port			= port;	    if ( bind(m_sock, (struct sockaddr *)&s, sizeof (s)) < 0 )    {		perror ("bind");		return false;    }		if (connect(m_sock, name, namelen) < 0)    {		perror("connect");		return false;    }        return true;}boolCSocket::close(){    if( closesocket(m_sock) == 0 )		return true;	else		return false;}boolCSocket::listen(unsigned short port){    struct sockaddr_in s;	    if ((m_sock = socket(AF_INET, SOCK_DGRAM, 0)) < 0)    {		perror("socket");		return false;    }	    s.sin_family		= AF_INET;    s.sin_addr.s_addr	= htonl(INADDR_ANY);    s.sin_port			= htons(port);	    if ( bind(m_sock, (struct sockaddr *)&s, sizeof (s)) !=0 )    {		perror ("bind");		return false;    }	    return true;}	int CSocket::read(void *buffer, int nbytes){	return recv(  m_sock, (char*) buffer, nbytes,  0 );      }intCSocket::write(void *buffer, int nbytes){	return send( m_sock,  (char*) buffer, nbytes, 0 );}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -