VC 高分求知识

来源:百度知道 编辑:UC知道 时间:2024/05/10 11:34:38
请会的大哥姐指教:

为什么我做的C/S结构程序.
多次点尝试连接服务器,会出现服务器端不会响应的事.

然后在点登录.也就是检查用户名密码的时候,
应该怎么发送数据?

我用的 send 发送.

但是在服务器端接收的时候,我获取到的数据是空白.

是不是获取的方法不对??
应该怎么获取数据?

然后怎么对数据进行判断和分解??????

例如. 我想发送:

Ox01(代表登录),用户名,密码.

然后接的时候我应该怎么获取到:Ox01 呢??

还有我用CString模式的. 不可以拿来循环判断,.应该怎么办??

请会的详细点告诉我怎么弄!!!!!!!!! 和解决服务器端的问题.

谢谢

发送和接收一定要定义自己的通信协议格式,发送和接收的只是一段buffer,
比如协议如下定制:
字节 1 2 。。。
命令代码 数据内容
那你发送的时候就要按照这个格式去组包,
比如:0x01 username password
把数据按照如上格式保存到buffer里,然后一次发出去
可以定义个结构体用于打包和解包
typedef tag_LOGIN{
char username[20];
char password[20];
}LoginStr,*pLoginStr;
接收到数据后,首先取buffer的第一个字节 得到0x01 从而得知是登录命令 然后直接用这个结构体把剩下的内容取出来,就得到用户名和密码了。

服务端不响应,有可能你服务端代码有问题,在cmd下用命令netstat -an检查一下是否开放了你服务端的端口。
也有可能是防火墙的问题 关掉防火墙试一下

我用过CSocket类 没出现过你说的事情