Silverlight网页客户端测试服务器程序 服务器测试程序

Silverlight网页客户端测试服务器程序 服务器测试程序,第1张

概述       因为Silverlight的安全机制,首先要访问服务器的943端口,接受策略文件比对,才能进行正常的Socket通信,所以服务器测试程序要开两个端口 943和4530(可以是其他的,不过有范围限定),两个线程。 /* if(myHandle) SuspendThread(myHandle);//挂起线程 if(myHandle) ResumeThread(myHandl

       因为Silverlight的安全机制,首先要访问服务器的943端口,接受策略文件比对,才能进行正常的Socket通信,所以服务器测试程序要开两个端口

943和4530(可以是其他的,不过有范围限定),两个线程。



/*				if(myHandle) SuspendThread(myHandle);//挂起线程				if(myHandle) ResumeThread(myHandle);//恢复线程				if(myHandle) TerminateThread(myHandle,0);//终止线程*/#include <windows.h>#include <iostream>#include <winsock2.h>//#include <socket.h>using namespace std;DWORD WINAPI acceptpoly(LPVOID argv);//声明一个线程函数DWORD WINAPI acceptDate(LPVOID argv);SOCKET m_servSocketpoly;    //poly ServerSOCKET m_servSocket;SOCKET m_servSocketDate;    //Date Serversockaddr_in clIEntAddr;     //Date ClIEntsockaddr_in polyAddr;       //poly ClIEntHANDLE mypolyThread;HANDLE myDateThread;int main(int argc,char *argv[]){    WSADATA wsa = {0};    if(WSAStartup(MAKEWORD(2,2),&wsa))        cout<<"DLL库失败\n";	string s;	mypolyThread = CreateThread(NulL,acceptpoly,(LPVOID)0,NulL);//创建线程	myDateThread  = CreateThread(NulL,acceptDate,NulL);//创建线程	SuspendThread(myDateThread);//挂起线程    while(1);	return 0;}DWORD WINAPI acceptpoly(LPVOID argv){	if((m_servSocketpoly = socket(AF_INET,SOCK_STREAM,0))==INVALID_SOCKET)        cout<<"poly Socket Creat Failed!\n";	sockaddr_in serverAddr;	memset((char*)&serverAddr,sizeof(serverAddr));	serverAddr.sin_family       = AF_INET;	serverAddr.sin_port         = htons(943);	serverAddr.sin_addr.s_addr  = htonl(INADDR_ANY);	if(bind(m_servSocketpoly,(struct sockaddr*)&serverAddr,sizeof(serverAddr)))        cout<<"poly Socket bind Failed!\n";    if(Listen(m_servSocketpoly,8)!= 0)        cout<<"poly Socket Listen Failed!\n";    cout<<"poly Prepared ALL Success!"<<endl;    while(1)    {        char recvbuf[1000];        memset(recvbuf,1000);        file *pfile = fopen("Policyfile.xml","r");            assert(pfile != NulL);        int lenAddr = sizeof(polyAddr);        SOCKET _policy = accept(m_servSocketpoly,(struct sockaddr*)&polyAddr,&lenAddr);        int len = recv(_policy,recvbuf,1000,0);        if (memcmp(recvbuf,"<policy-file-request/>",sizeof("<policy-file-request/>"))==0)        {            cout<<"Send poly Success!\n";            memset(recvbuf,1000);            int readCount = fread(recvbuf,sizeof(recvbuf),1,pfile);            send(_policy,strlen(recvbuf),0);            cout<<readCount<<"    \n"<<recvbuf<<endl;            fclose(pfile);            ResumeThread(myDateThread);            SuspendThread(mypolyThread);//挂起线程        }    }}DWORD WINAPI acceptDate(LPVOID argv)    ////Date{    char recvbuf[1000];    memset(recvbuf,1000);    if((m_servSocketDate = socket(AF_INET,0))==INVALID_SOCKET)        cout<<"Date Socket Creat Failed!\n";	sockaddr_in serverAddr;	memset((char*)&serverAddr,sizeof(serverAddr));	serverAddr.sin_family       = AF_INET;	serverAddr.sin_port         = htons(4530);	serverAddr.sin_addr.s_addr  = htonl(INADDR_ANY);	if(bind(m_servSocketDate,sizeof(serverAddr)))        cout<<"Date Socket bind Failed!\n";    if(Listen(m_servSocketDate,8)!= 0)        cout<<"Date Socket Listen Failed!\n";    cout<<"Date Prepared ALL Success!"<<endl;    while(1)    {        int lenAddr = sizeof(clIEntAddr);        SOCKET _policy = accept(m_servSocketDate,(struct sockaddr*)&clIEntAddr,&lenAddr);        for(;;)        {        cout<<"等待客户端数据\n";        int len = recv(_policy,0);        cout<<"The length of Accept: "<<len<<endl;        cout<<recvbuf<<endl;        /*cout<<"该我发数据了:"<<endl;        memset(recvbuf,1000);        gets(recvbuf);        send(_policy,0);        */        }    }}


策略文件

<?xml version="1.0" enCoding ="utf-8"?><access-policy>  <cross-domain-access>    <policy>      <allow-from>        <domain uri="*" />      </allow-from>      <grant-to>        <socket-resource port="4502-4534" protocol="tcp" />      </grant-to>    </policy>  </cross-domain-access></access-policy>
总结

以上是内存溢出为你收集整理的Silverlight网页客户端测试服务器程序 服务器测试程序全部内容,希望文章能够帮你解决Silverlight网页客户端测试服务器程序 服务器测试程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1020463.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存