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