关于扩展DLL中Socket(10038)的问题。
FtpStart(CString hostname, CString FilePath, CString FileName, int Port, int ThreadNumber, CString SaveTo)
{
char buf[bufsize];
WORD wVersionRequested;
WSADATA wsaData;
int sockerror;
wVersionRequested=MAKEWORD(1,1);
sockerror=WSAStartup(wVersionRequested,&wsaData);
if (sockerror !=0) {
AfxMessageBox("WinSock初始化失败");
WSACleanup();
exit(1);
}
if (LOBYTE(wsaData.wVersion) !=1 || HIBYTE(wsaData.wVersion) !=1)
{
AfxMessageBox("您的系统不支持winsock1。1版");
WSACleanup();
exit(1);
}
SOCKET s;
if (s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP) ==SOCKET_ERROR) {
AfxMessageBox("Socket创建失败");
WSACleanup();
exit(1);
}
int bNodelay = 1;
/*if (setsockopt(s,IPPROTO_TCP,TCP_NODELAY,(char *) &bNodelay,sizeof(bNodelay)) ==SOCKET_ERROR) {
AfxMessageBox("Socket设定失败");
WSACleanup();
exit(1);
}*/
sockaddr_in addr;
sockaddr_in ServAddr;
addr.sin_family=AF_INET;
addr.sin_port=0;
addr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
/*if (bind(s,(LPSOCKADDR)&addr,sizeof(addr)) ==SOCKET_ERROR) {
printf("bind错误");
exit(1);
}*/
ServAddr.sin_port=htons(Port);
ServAddr.sin_family=AF_INET;
/*sockaddr_in sa;
CString ServIP;
struct hostent *phe;
if (phe=gethostbyname(hostname)) {
for (int nAdapter=0; phe->h_addr_list[nAdapter]; nAdapter++) {
memcpy (&sa.sin_addr.S_un.S_addr,phe->h_addr_list[nAdapter],phe->h_length);
}
}
else {
AfxMessageBox("无法解析主机名"+hostname);
WSACleanup();
exit(1);
}
ServIP=inet_ntoa(sa.sin_addr);
*/
ServAddr.sin_addr.S_un.S_addr=inet_addr(ServIP);
if (connect(s,(LPSOCKADDR)&ServAddr,sizeof(ServAddr))==SOCKET_ERROR) {
AfxMessageBox("无法连接到主机");
WSACleanup();
exit(1);
}
CString Rmsg;
Rmsg=OnRecv(s,buf);
return 0;
}
相关推荐
socket常见错误代码解析.pdf
socket常见错误代码解析.pdf
文件夹文件清单一键导出Excel工具
这是一款文件夹文件清单一键导出 Excel 工具,选一个文件夹点一下,整棵目录树就列成一张 Excel 表。自带中文图形界面,双击启动.bat 即用。交付物包含主程序脚本、启动批处理、README 说明文档(md、html、pdf 三种版本)、示例目录和界面截图,解压即用。 功能上覆盖目录盘点的完整流程:选一个文件夹递归扫描所有子目录,文件按相对路径列进 Excel;每行带相对路径、文件名、类型、大小、创建时间和修改时间六项信息;末尾自动合计文件总数和总大小;可按扩展名过滤只保留指定类型的文件,可限制递归深度只扫顶层或指定层数。 几个实用细节:只读文件元数据不动你的原始文件,输出进独立目录同名自动加序号不覆盖;自动跳过隐藏文件和常见缓存目录如 git、node_modules;按钮运行时变灰防重复点击;同时保留命令行模式,脚本党也能直接用。 适合做交接盘点、资料报审、目录整理的行政、IT 和办公族,不用写代码。使用时双击启动.bat,选好要盘点的文件夹,按需填扩展名过滤和递归深度,点导出 Excel 清单,几秒钟后结果就在旁边的输出文件夹里,打开就能直接使用查看。第一次用建议先拿自带的示例目录跑一遍熟悉流程,再扫自己的正式文件夹。
政府科技管理者在推动科技成果转化时,如何解决技术供需匹配低效的问题?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
科技中介服务机构如何提升技术需求挖掘与服务推荐能力?.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
Python3 json序列化常见报错
json只能序列化字符串、数字、列表、字典、布尔、空值。无法序列化datetime、bytes、自定义类对象,直接dumps会抛出类型错误。解决方案:自定义序列化函数,通过default参数传入,手动转换特殊对象。中文乱码:默认ensure_ascii=True会转义中文,改为False直接输出原生中文。反序列化loads注意:json字符串要求双引号,Python字典单引号字符串无法解析,需要提前替换引号。 bfqcjn.com bg-wifi.cn bjqhjy.com bjqhfs.com bddongao.cn


