- 论坛徽章:
- 0
|
我刚接触windows环境编程,开始看个声讯系统的源码,能详细说说下面这段代码的作用吗,最好能介绍下几个关键类,空间的作用,比如FIX44,网上没什么资料。。。谢谢了
LRESULT CMainDlg::OnGenFixMsg(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
FIX44::Rebuild msgRebuild;
msgRebuild.getHeader().setField(FIX::SenderCompID("VSS"));
msgRebuild.getHeader().setField(FIX::TargetCompID("VDE"));
msgRebuild.getHeader().setField(FIX::MsgSeqNum(0));
msgRebuild.getHeader().setField(FIX::SendingTime());
msgRebuild.setField(FIX::RebuildMethod(3));
msgRebuild.setField(FIX::CategoryID(31));
msgRebuild.setField(FIX::TradeChannel(1));
msgRebuild.setField(FIX::BeginID(31));
msgRebuild.setField(FIX::EndID(20110224));
//msgRebuild.getHeader().setField(FIX::SenderCompID("VSS"));
//msgRebuild.getHeader().setField(FIX::TargetCompID("VDE"));
//msgRebuild.getHeader().setField(FIX::MsgSeqNum(0));
//msgRebuild.getHeader().setField(FIX::SendingTime());
//msgRebuild.getHeader().setField(FIX::MessageEncoding("UTF-8"));
//msgRebuild.setField(FIX::RebuildMethod(2));
//msgRebuild.setField(FIX::CategoryID(1));
//msgRebuild.setField(FIX::TradeChannel(1));
//msgRebuild.setField(FIX::BeginID(0));
//msgRebuild.setField(FIX::EndID(40960));
std::string strMsgRebuild=msgRebuild.toString();
m_edt_fastmsg.SetWindowText(strMsgRebuild.c_str());
int nfd=FIX::socket_createConnector();
FIX::socket_connect(nfd,"10.0.1.3",9130);
FIX::socket_send(nfd,strMsgRebuild.c_str(),strMsgRebuild.size());
std::string result;
while(true)
{
char buf[4096];
int recvbytes=recv(nfd,buf,4096,NULL);
DWORD laste=WSAGetLastError();
if(recvbytes<=0)
break;
result.append(buf,recvbytes);
}
m_edt_ret.SetWindowText(result.c_str());
return 0;
} |
|