?? socket.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 + -