⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 server.cpp

📁 本程序作为五子棋对局程序的裁判程序
💻 CPP
字号:
// Server.cpp: implementation of the CServer class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "FiveChessServer.h"
#include "Server.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
//凡有AfxMessageBox的地方可以将里边的字符串用一个CString结构保存,然后显示在界面上
//在修改的时候把类的大小尽量缩小

CServer::CServer()
{
m_hSocket =NULL;
}

CServer::~CServer()
{

}

BOOL CServer::InitAndConnet(UINT port)
{
	if(m_hSocket!=NULL)
	{
		//先将以前的套接字关闭
		closesocket(m_hSocket);
		m_hSocket=NULL;
	}
    //建立面向连接的socket
	m_hSocket=socket(AF_INET,SOCK_STREAM,0);
	ASSERT(m_hSocket!=NULL);//检查语句

	//绑定裁判socket
	ser_Port=port;
    ser_addr.sin_family=AF_INET;
	//IP为本机地址
	ser_addr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
	//端口为所传入的端口
	ser_addr.sin_port=htons(ser_Port);

	int ret=0;

	//绑定套接字到本机的设定端口
	ret=bind(m_hSocket,(struct sockaddr *)&ser_addr,sizeof(ser_addr));
	if(ret==SOCKET_ERROR)
	{
		//绑定错误
		AfxMessageBox("Binding Error");
		return FALSE;
	}

	//开始一个侦听过程,等待客户的连接
	//5为等待队列的长度
	ret=listen(m_hSocket,5);
	if(ret==SOCKET_ERROR)
	{
		//listen失败
		AfxMessageBox("Listen Error");
		return FALSE;
	}

	return TRUE;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -