怎么创建CSocket对象老出错呢?

tontony 2003-08-22 03:28:49
我在基于对话框的MFC程序里想创建一个CSocket对象,但是初始化时总出错,请大家看看,谢谢!
.h文件
private:
CSocket* m_pServerSocket;

.cpp文件
::OnInitDialog()事件中:

m_pServerSocket=new CSocket();
if(!m_pServerSocket->Create()) //出错,返回值为0
{
delete m_pServerSocket;
m_pServerSocket=NULL;
int iError=GetLastError();

AfxMessageBox("创建服务器Socket失败!");
}
...全文
41 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
叶子哟 2003-08-22
  • 打赏
  • 举报
回复
你最好上vckbase.com上下载一个实际的例子,真正的体会一个c/s的实际的连接是如何做的就可以了!
iboxer 2003-08-22
  • 打赏
  • 举报
回复
RE:CSocket的Accept函式则么老是导致程式无相应呢.

这是由于你没有采用消息机制来控制,
具体实现写在这很烦,有email?,我把实现代码发给你,或在网上找到相关的代码,很多的
flinming 2003-08-22
  • 打赏
  • 举报
回复
套接字应该初始化AfxSocketInit()
liotion 2003-08-22
  • 打赏
  • 举报
回复
还有个问题
就是CSocket的Accept函式则么老是导致程式无相应呢.

zxiaox 2003-08-22
  • 打赏
  • 举报
回复
要先:
if (!AfxSocketInit())
{
AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
return FALSE;
}
Viconia 2003-08-22
  • 打赏
  • 举报
回复
yyf改为本机IP好了
gzshd 2003-08-22
  • 打赏
  • 举报
回复
如果你是在本机上测试的话,"yyf"要改为127.0.0.1
zhouyong0371 2003-08-22
  • 打赏
  • 举报
回复
lpszSockAddress
A pointer to a string containing the network address of the connected socket, a dotted number such as 128.56.22.8.
mct1025 2003-08-22
  • 打赏
  • 举报
回复
"yyf" 改为 "xxx.xxx.xxx.xxx" ip地址 试试
tontony 2003-08-22
  • 打赏
  • 举报
回复
多谢,问题解决了,不过我想多问一句:
我把Create语句改成:
if(!m_pServerSocket->Create(1993,SOCK_STREAM,"yyf")) //指定端口和机器名
{
delete m_pServerSocket;
m_pServerSocket=NULL;
int iError=GetLastError();

AfxMessageBox("创建服务器Socket失败!");
}
怎么就不行,还是出错呢?
mct1025 2003-08-22
  • 打赏
  • 举报
回复
m_pServerSocket=new CSocket();前
加入AfxSocketInit()

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧