Socket客户端的问题...

Nirvana0 2005-05-29 05:09:57
小弟刚刚接触VC,现在需要写一个VC的程序,去给一个Socket Server发一点测试数据。小弟做个一个对话框,上面有一个按钮,想点击这个按钮,就向Socket Server发一条测试数据。
代码是这样写的,可是有问题,请指导一下小弟。


编译的时候就报错:
ClientDlg.cpp(212) : error C2228: left of '.Create' must have class/struct/union type
ClientDlg.cpp(213) : error C2228: left of '.Connect' must have class/struct/union type
ClientDlg.cpp(215) : error C2228: left of '.Send' must have class/struct/union type



代码如下:

#include <afxsock.h>
#include"winsock.h"
#pragma comment(lib,"wsock32")


...


void CClientDlg::OnConnect()
{

// TODO: Add your control notification handler code here

if (!AfxSocketInit())
{
AfxMessageBox("Socket 初始化失败!");
return;
}

SOCKET sock = socket(AF_INET, SOCK_STREAM, 0);//,newsock;
sock.Create();
sock.Connect("192.168.0.100",8086);
char buf[]="Test";
sock.Send(buf,sizeof(buf));

}

能帮小弟改一下吗??
...全文
45 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jerry 2005-05-29
  • 打赏
  • 举报
回复
SOCKET sock = socket(AF_INET, SOCK_STREAM, 0);//,newsock; 这是句柄,不是对象
------------------------------------------------------------------------------------

SOCKET 应该用SOCKETSAPI 操作: socket 函数是创建,下面的 Create不用了

// 准备连接结构数据
sockaddr_in addr;
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr("192.168.0.100");
addr.sin_port = htons(8086);

int ir = connect(sock, (sockaddr *) &addr, sizeof(addr));

if(ie == SOCK_ERROR) // 错误
{
...

}

// 发送:
send(sock, buf, buflen, 0);

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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