?? encrypttran.cpp
字號:
//EncryptTran.cpp
#include <iostream>
#include "EncryptTran.h"
#include "RsaA.h"
//構造
CEncryptTran::CEncryptTran()
{
}
//析構
CEncryptTran::~CEncryptTran()
{
}
//加密數據
void CEncryptTran::EncryptData()
{
// 秘鑰產生函數
CRsaA rsa;
// rsa.GenKeys(m_strPublicKey,m_strPrivateKey,m_strR);
}
//解密數據
void CEncryptTran::DecryptData()
{
}
//初始化連接
bool CEncryptTran::InitializeConnect()
{
struct sockaddr_in my_addr; /* 本機地址信息 */
struct sockaddr_in client_addr; /* 客戶端地址信息 */
listensocket=socket(AF_INET, SOCK_STREAM, 0);
if(listensocket==-1) return false;
my_addr.sin_family=AF_INET;
my_addr.sin_port=htons(PORT); //端口
my_addr.sin_addr.s_addr = INADDR_ANY;
// bzero(&(my_addr.sin_zero),8);
if(bind(listensocket, (struct sockaddr *)&my_addr, sizeof(struct sockaddr)) == -1) return false;
if (listen(listensocket, 10) == -1) return false;
while(1)
{
int sin_size = sizeof(struct sockaddr_in);
if ((transocket = accept(listensocket, (struct sockaddr *)&client_addr, &sin_size)) == -1)
{
continue;
}
}
return true;
}
//發送數據
bool CEncryptTran::SendData(char *data)
{
if (send(transocket,data, sizeof(*data), 0) == -1)
return false;
return true;
}
//連接到服務器
bool CEncryptTran::ConnectToServer(char * ip)
{
struct sockaddr_in serv_addr;
if ((clientsocket = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
return false;
}
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(PORT);
serv_addr.sin_addr.S_un.S_addr = inet_addr(ip);
if (connect(clientsocket, (struct sockaddr *)&serv_addr, sizeof(struct sockaddr)) == -1)
{
return false;
}
return true;
}
//接收數據
bool CEncryptTran::ReciveData()
{
char buf[1024];
int recvbytes=0;
if ((clientsocket = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
return false;
}
do
{
if ((recvbytes=recv(clientsocket, buf, 1024, 0)) ==-1)
{
return false;
}
//對接收到的數據處理
//數據buf,長度1024
//......
}while(recvbytes!=0);
//close(clientsocket);
return true;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -