2016 ソフトウェア設計及び演習用の班Wiki
gr07::ヘッダファイル(ソケット通信)
server.h
#ifndef _SERVER
#define _SERVER
#pragma comment(lib, "wsock32.lib")
#include <stdio.h>
#include <winsock2.h>
#include <ws2tcpip.h>
#include <fstream>
#include <iostream>
#include <string>
#include <sstream>
#include <process.h>
#include <thread>
#define PORT 9000 //クライアントプログラムとポート番号を合わせてください
#define DEFAULT_PORT "9000"
#define WM_WINSOCK WM_APP + 0
int _recvthread(int dst, char *buf, int num, int st, int flag);
int _sendthread(int dat, char *buf);
class Server
{
public:
//int i;
// ポート番号,ソケット
SOCKET srcSocket; // 自分
SOCKET dstSocket; // 相手
// sockaddr_in 構造体
SOCKADDR_IN srcAddr;
SOCKADDR_IN dstAddr;
IN_ADDR dstIn;
int dstAddrSize;
// 各種パラメータ
int status;
int numrcv;
//送受信用バッファ
char *buffer;
WSADATA data;
HWND m_hWnd;
int nErrorStatus;
struct addrinfo *result = NULL;
struct addrinfo hints;
//////////////////////////////////////
char *hostname = "localhost";
struct addrinfo *ptr = NULL;
struct sockaddr_in *sockaddr_ipv4;
LPSOCKADDR sockaddr_ip;
char ipstringbuffer[46];
DWORD ipbufferlength = 46;
int iResult;
INT iRetval;
DWORD dwRetval;
int i = 1;
//////////////////////////////////////
void serveropen();
void serverclose();
void serverlisten();
};
#endif //_SERVER
client.h
#ifndef _CLIENT
#define _CLIENT
#pragma warning(disable:4996)
#pragma comment(lib,"Ws2_32.lib")
#pragma comment(lib, "wsock32.lib")
#include <stdio.h>
#include <winsock2.h>
#include <ws2tcpip.h>
#include <fstream>
#include <iostream>
#include <string>
#include <sstream>
#include <thread>
#define PORT 9000 //サーバープログラムとポート番号を合わせてください
int recvthread(int dst, char *buf);
int sendthread(int dst, char *buf);
class Client
{
public:
char *destination;
int dstSocket;
struct sockaddr_in dstAddr;
//各種パラメータ
char *buffer;
BOOL connectEx(SOCKET sock, const LPSOCKADDR lpDstAddr, int nLen, DWORD dwTimeout);
void createSocket();
int access();
void clientclose();
};
int _recvthread(int dst, char *buf);
int _sendthread(int dst, char *buf);
#endif //_CLIENT
最終更新日:2016/07/29 14:15:57