📄 banksocket.cpp
字号:
// BankSocket.cpp : implementation file
//
#include <stdafx.h>
#include "BankSocket.h"
/////////////////////////////////////////////////////////////////////////////
// CBankSocket
CBankSocket::CBankSocket()
{
s = 0;
}
CBankSocket::CBankSocket(SOCKET sck)
{
s = sck;
}
CBankSocket::~CBankSocket()
{
}
/////////////////////////////////////////////////////////////////////////////
// CBankSocket member functions
SOCKET CBankSocket::Create()
{
if(!s)
{
s = socket(AF_INET,SOCK_STREAM,0);
if(s == INVALID_SOCKET)
return 0;
}
return s;
}
BOOL CBankSocket::Connect(LPCTSTR lpszHostAddress, UINT nHostPort)
{
int iResult;
struct sockaddr_in addr;
s = Create();
if(!s)
return FALSE;
addr.sin_family = AF_INET;
addr.sin_port = htons(nHostPort);
addr.sin_addr.s_addr = inet_addr (lpszHostAddress);
iResult=connect(s,(struct sockaddr *)&addr, sizeof(addr));
if(iResult == SOCKET_ERROR){
Close();
return FALSE;
}
return TRUE;
}
int CBankSocket::Send(const char *lpBuf, int nBufLen, int nFlags)
{
int iRet;
fd_set fd_write;
struct timeval TimeOut = {75, 0};
FD_ZERO(&fd_write);
FD_SET(s, &fd_write);
iRet = select(NULL, NULL, &fd_write, NULL, &TimeOut);
if(iRet == 0 || iRet == SOCKET_ERROR)return 0;
iRet = send(s, lpBuf,nBufLen,0);
if(iRet == 0 || iRet == SOCKET_ERROR)return 0;
return iRet;
}
int CBankSocket::Receive(char *lpBuf, int nBufLen, int nFlags)
{
int iRet;
fd_set fd_read;
struct timeval TimeOut = {75, 0};
FD_ZERO(&fd_read);
FD_SET(s, &fd_read);
iRet = select(NULL, &fd_read, NULL, NULL, &TimeOut);
if(iRet == 0 || iRet == SOCKET_ERROR)return 0;
iRet = recv(s,lpBuf,nBufLen,0);
if(iRet == 0 || iRet == SOCKET_ERROR)return 0;
return iRet;
}
void CBankSocket::Close()
{
closesocket(s);
WSACleanup();
s = 0;
return ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -