Socket问题,发送的数据和接收的数据,怎么不一样啊,郁闷!!!

ie521 2006-05-07 06:40:18
小弟在做FTP客户端,用了以一代码向FTP Server(Serv-U)发送数据:

char sendbuf[255];
AnsiString sendstr="user niangzao";
StrPCopy(sendbuf, sendstr);

int sendbuflen=StrLen(sendbuf);
cs1->Socket->SendBuf(sendbuf,255);

但在Serv-U的日志里,显示已经发了三条命令,还有乱码出现,如下:

[5] Sun 07May06 18:28:48 - (000009) Connected to 192.168.0.8 (Local address 192.168.0.8)
[6] Sun 07May06 18:28:48 - (000009) 220 Serv-U FTP Server v6.0 for WinSock ready...
[2] Sun 07May06 18:28:53 - (000009) user niangzao??飛@?癭趢@卩?z?@?
[6] Sun 07May06 18:28:53 - (000009) 331 User name okay, need password.
[2] Sun 07May06 18:28:53 - (000009) ?访鈝??
[6] Sun 07May06 18:28:53 - (000009) 530 Not logged in.
[2] Sun 07May06 18:28:53 - (000009) ?赝躕??貏?4??卦 匊饶鈝樐鈝拌鴗8$p:拟w饶鈝W驸w(?x??鋡犇鈝樐鈝嵪鈝?卦 ?
[6] Sun 07May06 18:28:53 - (000009) 530 Not logged in.

不知道为什么,请高手指点一二,感激不尽。

...全文
363 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ie521 2006-05-08
  • 打赏
  • 举报
回复
多谢楼上几位哥哥指点。问题解决。
alloutoflove 2006-05-08
  • 打赏
  • 举报
回复
多谢楼上两位指点^_^
pp616 2006-05-08
  • 打赏
  • 举报
回复
ftp命令不是已\0 结尾 而是\r\n
铖邑 2006-05-08
  • 打赏
  • 举报
回复
我想,应该要加个换行符吧
AnsiString sendstr="user niangzao\n";
cs1->Socket->SendBuf(sendstr.c_str(),sendstr.Length());
alloutoflove 2006-05-08
  • 打赏
  • 举报
回复
楼上的那个len是不是加上个1好一点???
铖邑 2006-05-08
  • 打赏
  • 举报
回复
AnsiString sendstr="user niangzao";
cs1->Socket->SendBuf(sendstr.c_str(),sendstr.Length());
铖邑 2006-05-08
  • 打赏
  • 举报
回复
int sendbuflen=StrLen(sendbuf);
cs1->Socket->SendBuf(sendbuf,sendbuflen);
rudolf_he 2006-05-08
  • 打赏
  • 举报
回复
没测试过,随便写的,你试试

char sendbuf[255];
AnsiString sendstr="user niangzao";
memcpy(&sendbuf[0], sendstr.c_str(),sendstr.Length());

// int sendbuflen=StrLen(sendbuf);
cs1->Socket->SendBuf(sendbuf,sendstr.Length());

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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