社区
网络及通讯开发
帖子详情
关于ServerClient的问题,请高手一定进来看看!
meapex
2003-01-15 04:45:52
请问我服务器端使用ServerClient控件通过1234端口进行侦听,在客户端用api写的程序来连接服务器,也就是用socket(),connect()等api函数实现对服务器的连接,为什么总是连接失败?是不是这样做不行,必须要用ClientSocket才可以?
...全文
104
10
打赏
收藏
关于ServerClient的问题,请高手一定进来看看!
请问我服务器端使用ServerClient控件通过1234端口进行侦听,在客户端用api写的程序来连接服务器,也就是用socket(),connect()等api函数实现对服务器的连接,为什么总是连接失败?是不是这样做不行,必须要用ClientSocket才可以?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
l_clove
2003-01-16
打赏
举报
回复
对了,如果不是这个原因,就是daddr.sin_port=8888;原因,
改成daddr.sin_port=htonl(1234);//port number 1234
l_clove
2003-01-16
打赏
举报
回复
我知道是什么原因了
daddr.sin_addr.s_addr=inet_addr(desip.c_str());
网络字节与主机字节序的问题,
改为daddr.sin_addr.s_addr=htonl(inet_addr(desip.c_str()));
meapex
2003-01-16
打赏
举报
回复
问题解决了,应该用daddr.sin_port=htons(1234),而不是htonl(1234)
谢谢各位。
meapex
2003-01-16
打赏
举报
回复
服务器一点问题都没有,因为我的程序用ClientSocket和它连完全正常,该用上面的程序后,服务器端会出现“Asychronous socket error 10053”错误,应该是socket的同步问题,我不知道错误发生在什么地方。
halfdream
2003-01-16
打赏
举报
回复
先用TELNET XX.XX.XX.XX XXX 方式试一下服务端.确实服务端没有问题就集中精力看客户端.
meapex
2003-01-16
打赏
举报
回复
上面的8888是我的笔误,应该是1234,但问题不是这里。
苦丁香说的我也照做过了,还是不行,哪位大虾再帮忙看看,试试我的程序啊。
invalid
2003-01-15
打赏
举报
回复
daddr.sin_port=8888;是什么意思啊?应该是1234吧。
meapex
2003-01-15
打赏
举报
回复
我的server端设为 ServerSocket1->Active=ture;
client端则是用以下程序实现的,但总是connect不上server,请高人帮忙看看:
void __fastcall TConnect::Execute()
{
if(WSAStartup(WSVERS, &wsadata) == 0)
{
if 0!=(CmmdSock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP))
{
struct sockaddr_in daddr;
memset((void *)&daddr,0,sizeof(daddr));
daddr.sin_family=AF_INET;
daddr.sin_port=8888;
daddr.sin_addr.s_addr=inet_addr(desip.c_str());
int TimeOut = 12000;
if (setsockopt(CmmdSock, SOL_SOCKET, SO_SNDTIMEO, (char*)&TimeOut, sizeof(TimeOut)))
{
return;
}
unsigned long t = 1;
ioctlsocket(CmmdSock, FIONBIO, (unsigned long*)&t); //set nonblocking mode
if (connect(CmmdSock,(struct sockaddr *)&daddr,sizeof(daddr)))
send(CmmdSock,send_cmd,sizeof(send_cmd),0);
else
{
return;
}
struct timeval timeout ;
fd_set r;
FD_ZERO(&r);
FD_SET(CmmdSock, &r);
timeout.tv_sec = 1; //连接超时15秒
timeout.tv_usec =0;
int ret = select(0, 0, &r, 0, &timeout);
if(ret>0)//如果连接
{
//ShowMessage("ok");
}
else
{
//ShowMessage("fail");
}
closesocket(CmmdSock);
}
WSACleanup();
}
}
meapex
2003-01-15
打赏
举报
回复
我的seversocket端一直在监听的,还是不行啊。
不过我的连接实在线程里面使用的,不知道有没有关系。
pp616
2003-01-15
打赏
举报
回复
不。这没有什么兼容性的问题。
你检查一下你的serverclient是否在监听。
用Java实现
Server
-
Client
结构的聊天系统
Java初学者,在众多
高手
面前舞刀弄枪,免不了有些胆战心惊,毕竟才疏学浅,如果在方法方面有什么不足或者欠成熟的地方,各位大虾看过之后还要多多指 点,毕竟我看Java只看了一个星期,很多高级方法还没有接触,不...
java中简单的ajax分页,java的ajax分页
问题
,
高手
进来
看看
* * @param request the request send by the
client
to the
server
* @param response the response send by the
server
to the
client
* @throws ServletException if an error occurred * @throws IOException ...
Ubuntu完全教程,让你成为Ubuntu
高手
!
明白了这一点,我们来
看看
Linux和Windows对于分区不同的表示方法: 可能您已经很熟悉Windows了,它使用盘符来表示分区,比如 C: D: E: ,每一个分区使用一个盘符来标识,而且顺序可以颠倒, D: 并不
一定
...
Exchange
Server
常见
问题
Exchange
Server
常见
问题
转自:伟网动力 ========================? 一 ?========================== 1. 安装 Exchange
Server
,Shut Down速度很慢,有时...
问题
贴,
高手
,新手,求职的,招聘的都
进来
看下
先问招聘的吧, 招聘信息好像都是说,要精通PHP,MYSQL,LINUX,AJAX,CSS+DIV之类的,
请
问精通要怎么定义????? MYSQL,LINUX,APACHE虽然跟PHP是黄金组合,但偶想说,精通数据库的那是...他们的区别是什么? 再来问下所谓的
高手
,,,
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章