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
单片机中雹桐游断入口地址间确实只有8个字节的空间,所以一般在中断地址入口放一条跳转指令,跳到其他用户程序空间去执行中断服务程序。一条跳转指令有2~3个字节就可以了轮毕。比如:LJMP INT_TIMER0 就是长跳转到INT_TIMER0,占用3个地址空间。用时用SJMP,这个指令只占用2个字源销节空间。
跳转指令在C语言中,相当于GOTO。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)