Created
March 25, 2020 15:51
-
-
Save SangSama/87e0e45ca72cb77754c8daf013f19a49 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <WinSock2.h> | |
#include <WS2tcpip.h> | |
#pragma comment(lib, "ws2_32") // chi thị pragma để gắn hư viện | |
#define _WINSOCK_DEPRECATED_NO_WARNINGS | |
#include<string.h> | |
//lib get info computer | |
#include <windows.h> | |
#pragma comment(lib, "user32.lib") | |
#include <sstream> //convert to string | |
int main() { | |
//Get data computer | |
SYSTEM_INFO siSysInfo; | |
GetSystemInfo(&siSysInfo); | |
int OEMID = siSysInfo.dwOemId; | |
int numOfProcess = siSysInfo.dwNumberOfProcessors; | |
int pageSize = siSysInfo.dwPageSize; | |
int processType = siSysInfo.dwProcessorType; | |
long miniumAppAddr = siSysInfo.lpMinimumApplicationAddress; | |
long maximumAppAddr = siSysInfo.lpMaximumApplicationAddress; | |
int activeProcessMask = siSysInfo.dwActiveProcessorMask; | |
// khoi tao winsock | |
WSADATA wsa; | |
WSAStartup(MAKEWORD(2, 2), &wsa); | |
//khai bao socket | |
SOCKET client = socket(AF_INET, SOCK_STREAM, IPPROTO_IP); | |
printf("Nhap thong tin server (ip port): "); | |
string diaChiIP; cin >> diaChiIP; | |
int port; cin >> port; | |
printf("du lieu gui cho server: "); | |
string data; | |
data.append("OEM ID : "); data.append(to_string(OEMID)); | |
data.append("Num Of Process"); data.append(to_string(numOfProcess)); | |
data.append("Page Size"); data.append(to_string(pageSize)); | |
data.append("Process Type"); data.append(to_string(processType)); | |
data.append("Minium App Addr "); data.append(to_string(miniumAppAddr)); | |
data.append("Maximum App Addr"); data.append(to_string(maximumAppAddr)); | |
data.append("Active Process Mask"); data.append(to_string(activeProcessMask)); | |
//khai bao dia chi server | |
SOCKADDR_IN addr; | |
addr.sin_family = AF_INET; | |
addr.sin_addr.s_addr = inet_addr(diaChiIP); | |
addr.sin_port = htons(port); | |
//connect | |
int ret = connect(client, (SOCKADDR*)&addr, sizeof(addr)); | |
if (ret == SOCKET_ERROR) { | |
ret = WSAGetLastError(); | |
return 1; | |
} | |
// gat info computer | |
//send data | |
send(client, data, sizeof(data), 0); | |
closesocket(client); | |
WSACleanup(); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <WinSock2.h> | |
#include <WS2tcpip.h> | |
#pragma comment(lib, "ws2_32") // chi thị pragma để gắn hư viện | |
#define _WINSOCK_DEPRECATED_NO_WARNINGS | |
#include<string.h> | |
int main() { | |
// khoi tao winsock | |
WSADATA wsa; | |
WSAStartup(MAKEWORD(2, 2), &wsa); | |
//khai bao socket | |
SOCKET listener = socket(AF_INET, SOCK_STREAM, IPPROTO_IP); | |
printf("Nhap thong tin server (port): "); | |
int port; cin >> port; | |
//khai bao dia chi server | |
SOCKADDR_IN addr; | |
addr.sin_family = AF_INET; | |
addr.sin_addr.s_addr = htonl(INADDR_ANY); //bat ki | |
addr.sin_port = htons(port); | |
bind(listener, (SOCKADDR*)&addr, sizeof(addr)); // gan socket voi cau truc da chi | |
listen(listener, 5); // chuyen sang trang thai cho ket noi | |
SOCKET client = accept(listener, NULL, NULL); | |
char buf[2048]; | |
int ret; | |
float f; | |
while (1) { | |
ret = recv(client, buf, sizeof(f), 0); | |
if (ret <= 0) { | |
printf("recv() failed\n"); | |
return 1; | |
} | |
printf("%s\n", buf); | |
} | |
closesocket(client); | |
closesocket(listener); | |
WSACleanup(); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <WinSock2.h> | |
#include <WS2tcpip.h> | |
#pragma comment(lib, "ws2_32") // chi thị pragma để gắn hư viện | |
#define _WINSOCK_DEPRECATED_NO_WARNINGS | |
#include<string.h> | |
int main() { | |
// khoi tao winsock | |
WSADATA wsa; | |
WSAStartup(MAKEWORD(2, 2), &wsa); | |
//khai bao socket | |
SOCKET client = socket(AF_INET, SOCK_STREAM, IPPROTO_IP); | |
printf("Nhap thong tin server (ip port): "); | |
string diaChiIP; cin >> diaChiIP; | |
int port; cin >> port; | |
printf("du lieu gui cho server: "); | |
string data; cin >> data; | |
//khai bao dia chi server | |
SOCKADDR_IN addr; | |
addr.sin_family = AF_INET; | |
addr.sin_addr.s_addr = inet_addr(diaChiIP); | |
addr.sin_port = htons(port); | |
//connect | |
int ret = connect(client, (SOCKADDR*)&addr, sizeof(addr)); | |
if (ret == SOCKET_ERROR) { | |
ret = WSAGetLastError(); | |
return 1; | |
} | |
//send data | |
send(client, data, sizeof(data), 0); | |
closesocket(client); | |
WSACleanup(); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <WinSock2.h> | |
#include <WS2tcpip.h> | |
#pragma comment(lib, "ws2_32") // chi thị pragma để gắn hư viện | |
#define _WINSOCK_DEPRECATED_NO_WARNINGS | |
#include<string.h> | |
int main() { | |
// khoi tao winsock | |
WSADATA wsa; | |
WSAStartup(MAKEWORD(2, 2), &wsa); | |
//khai bao socket | |
SOCKET listener = socket(AF_INET, SOCK_STREAM, IPPROTO_IP); | |
printf("Nhap thong tin server (port): "); | |
int port; cin >> port; | |
printf("source file gui:"); | |
string sendFile; cin >> sendFile; | |
printf("source file nhan: "); | |
string recvFile; cin >> recvFile; | |
//khai bao dia chi server | |
SOCKADDR_IN addr; | |
addr.sin_family = AF_INET; | |
addr.sin_addr.s_addr = htonl(INADDR_ANY); //bat ki | |
addr.sin_port = htons(port); | |
bind(listener, (SOCKADDR*)&addr, sizeof(addr)); // gan socket voi cau truc da chi | |
listen(listener, 5); // chuyen sang trang thai cho ket noi | |
SOCKET client = accept(listener, NULL, NULL); | |
//doc file va gui cho client | |
char bufSend[2048]; | |
fread(bufSend, 1, sizeof(bufSend), sendFile); | |
send(client, bufSend, strlen(bufSend), 0); | |
//nhan data tu client va ghi vao file | |
char bufRecv[2048]; | |
int ret, sum; | |
FILE* fWrite = fopen(recvFile, "wb"); | |
while (1) { | |
ret = recv(client, bufRecv, sizeof(bufRecv), 0); | |
if (ret <= 0) break; | |
fwrite(bufRecv, 1, ret, fWrite); | |
sum += ret; | |
} | |
printf("Finished"); | |
fclose(f); | |
closesocket(client); | |
closesocket(listener); | |
WSACleanup(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment