64,636
社区成员
发帖
与我相关
我的任务
分享
typedef struct _tagPerson
{
char name[20];
char number[20];
}Person;
typedef struct _tagPerson2
{
char name[10];
char number[10];
}Person2;
//开启服务
void COppDlg::OnButton1()
{
if(m_sckServer.Create(9000))
{
m_sckServer.Listen();
}
else
{
MessageBox("服务器启动失败");
return;
}
SOCKET sck=m_sckServer.Detach();
AfxBeginThread(ThreadFun,(LPVOID)sck);
}
//发送数据
void COppDlg::OnButton2()
{
m_sckClient.Create();
int bRet=m_sckClient.Connect("127.0.0.1",9000);
if(bRet)
{
Person p;
memset(&p,0,sizeof(p));
memcpy(p.name,"1234567890abcdefgh",strlen("1234567890abcdefgh"));
memcpy(p.number,"abcdefgh1234567890",strlen("abcdefgh1234567890"));
m_sckClient.Send((char*)&p,sizeof(p),0);
}
}
UINT COppDlg::ThreadFun(LPVOID lpVoid)
{
AfxSocketInit();
SOCKET sck=(SOCKET)lpVoid;
CSocket m_sckServer,tmpSocket;
m_sckServer.Attach(sck);
Person2 p;
int b=sizeof(p);
CString strName,strNumber;
while(true)
{
memset(&p,0,sizeof(p));
m_sckServer.Accept(tmpSocket);
tmpSocket.Receive((char*)&p,sizeof(p),0);
b=sizeof(p);
strName.Format("%s",p.name);
strNumber.Format("%s",p.number);
}
return 0L;
}
typedef struct _tagPerson3
{
char name[100];
char number[100];
}Person3;
typedef struct _tagPerson2
{
char name[10];
char number[10];
}Person2;