永发信息网

C/C++建立控制台程序后如何socket编程将ip, 用户名, 密码分别传送给服务器(注意不是cmd中手动输入)

答案:1  悬赏:0  手机版
解决时间 2021-02-27 11:29
  • 提问者网友:你给我的爱
  • 2021-02-27 02:47
C/C++建立控制台程序后如何socket编程将ip, 用户名, 密码分别传送给服务器(注意不是cmd中手动输入)
最佳答案
  • 五星知识达人网友:猎心人
  • 2021-02-27 03:05
//客户端
memset(sendMess.name,0,20);
memset(sendMess.mima,0,20);//赋值语句
int ServerSession::send_user(struct user_infor sendMess)
{
int nByteSen畅浮扳簧殖毫帮桐爆昆t;
nByteSent=send(m_hSocket,(char *)&sendMess,sizeof(sendMess),0);
if(nByteSent==sizeof(sendMess))
{
char sRecv[256];
int nBytes;
//取得服务器自动回复的消息
nBytes=recv(m_hSocket,sRecv,255,0);
if(nBytes==SOCKET_ERROR)
{
AfxMessageBox("接受数据失败");
return 1;

}
sRecv[nBytes]='\0';
//显示回复信息
if(!strcmp(sRecv,"登陆成功!"))
flag=1;
else
flag=0;
AfxMessageBox(sRecv);
if(closesocket(m_hSocket)==SOCKET_ERROR)
{
AfxMessageBox("关闭连接失败");
m_hSocket=NULL;
return 1;
}
}

}

//服务器端
UINT Socket_Session::Log_Set_Run()//获取客户端发送的消息
{
SOCKADDR_IN sa_addr;
ASSERT(g_hSocket!=NULL);
int nLen=sizeof(SOCKADDR);
//等待接受客户端的连接请求
g_hAcceptSocket=accept(g_hSocket,(sockaddr *)&sa_addr,&nLen);
g_hAcceptObject[Num++]=g_hAcceptSocket;
m_strIP = inet_ntoa(sa_addr.sin_addr);
if(g_hAcceptSocket==INVALID_SOCKET)
{
if(WSAGetLastError()!=WSAEINTR)
AfxMessageBox("接受连接失败");
return 1;
}
//接受到一个客户端的请求后,立即启动一个线程重新开始监听
AfxBeginThread(Log_Set,this);
//处理与客户端的通信
AfxBeginThread(Proposal_Message,this);
return 0;追问第一句乱码啊“int nByteSen畅浮扳簧殖毫帮桐爆昆t;“
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯