关于socket编程的问题.

来源:百度知道 编辑:UC知道 时间:2024/05/31 02:35:59
很多书只有介绍简单的连接.

并没有说明发送数据的时候都发送什么数据.

我要如何定义这个发送出去的数据是干什么的.

我当然知道发送一个1代表注册. 2代表修改密码那样做.

但是具体怎么实现.

服务器端在读发来的数据的时候,怎么获取.和客户端是怎么发送这个请求标识的?

C/S结构的程序两端基本都是同步开发的,就算不是同步开发也是有一端的代码,根据这端的代码开发另一端。因为这样一端发送的数据包,另一端才能写出相应的程序。
举个例子:
假如C端向S端发送如下一段字符流:create:usrname@pass,
当S端收到后开始解析该包:

当遍历到“:”的时候,判断分号之前字符,用上面来说,判断分号之前的字符是create,那么就是注册用户名,然后从分号之后的字符串中得到注册用户名和密码。

发送数据一般只是发送命令标志,譬如:1代表关闭电脑;2代表获取用户名等,当然也可以附带发送文件数据,但是必须要将命令标志和文件数据用特殊符号分开,这样服务器端在读取时可以分别获取说据。

读取和发送,都有sock或winsock对象执行,无论是TCP数据包或UDP数据包,都可以由此对象实现双向发送。send和recv函数可以实现这样的功能。

可以让客户端和服务端用相同的数据结构,这样服务端就能正确解析了