关于Socket控件的问题

Rigel 2002-06-25 11:25:31
我的困难可以通过两个途径来解决,无论哪种办法都行,最好给出源码,分数一定给。
我要用的是个Socket的客户端,ClientType = ctNonBlocking;向服务端发东西,我想要有多个这样的客户端。
1。怎样产生Socket的客户端控件的数组,各控件返回的消息在哪里处理。
2。不用控件,写程序怎么做,我的这段程序运行不正确。

SOCKET s = 0;
struct sockaddr_in address;
WSADATA wsaData;
int nStatus;
unsigned long ulAddress;
int nPort = 4000;

nStatus = WSAStartup(0x101, &wsaData);
if (nStatus != 0)
return;

if (LOBYTE(wsaData.wVersion)!=1 || HIBYTE(wsaData.wVersion)!=1)
return;

s = socket(AF_INET, SOCK_STREAM, 0);
if (s == INVALID_SOCKET)
return;

ulAddress = inet_addr ("192.168.2.191");
memset((void*)(&address), 0, sizeof(address));
address.sin_family = AF_INET;
address.sin_port = nPort;
address.sin_addr.s_addr = ulAddress;

if (connect(s, (struct sockaddr*)&address, sizeof(address)) == SOCKET_ERROR)
return;

就在这里过不去。
...全文
40 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rigel 2002-06-26
  • 打赏
  • 举报
回复
lj_csdn,兄弟,帮忙帮到底啊。
Rigel 2002-06-26
  • 打赏
  • 举报
回复
lj_csdn(大笨蛋) 的程序可以作对,开始程序里的address.sin_port = nPort;这句有问题,改过就好了。
lj_csdn 2002-06-25
  • 打赏
  • 举报
回复
struct sockaddr_in remoteAddr;
struct sockaddr_in localAddr;
SOCKET Handle=0;
memset((void *)&remoteAddr,0,sizeof(remoteAddr));
memset((void *)&localAddr,0,sizeof(localAddr));
Handle=socket(AF_INET,SOCK_STREAM,0);
if (Handle==INVALID_SOCKET)
{ return WSAGetLastError();
}
localAddr.sin_addr.S_un.S_addr=INADDR_ANY;
localAddr.sin_family=AF_INET;
localAddr.sin_port=htons((WORD)localPort);
err=bind(Handle,(struct sockaddr *)&localAddr,sizeof(localAddr));
if (err==SOCKET_ERROR)
{ err=-WSAGetLastError();
closesocket(Handle);
return err;
}
remoteAddr.sin_addr.S_un.S_addr=inet_addr(remoteIP);
remoteAddr.sin_family=AF_INET;
remoteAddr.sin_port=htons((WORD)remotePort);
err=connect(Handle,(struct sockaddr *)&remoteAddr,sizeof(remoteAddr));
if (err==SOCKET_ERROR)
{ err=-WSAGetLastError();
closesocket(Handle);
return err;
}
Rigel 2002-06-25
  • 打赏
  • 举报
回复
谢谢 lj_csdn, 名讳不便提及。:)

我试了,是可以的,分数我一定给。
可不可以告诉我我错在哪,为什么要这样做,客户端也要bind吗?
还有Socket返回的信息我怎么捕获?

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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