关于Socket的SendText用法问题 本帖最后由 feiyushenme 于 2012-04-22 13:15:38 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SendText就是通过Socket发送一个字符串过去。问题1:clientsocket1.Socket.SendText('昵称@'+str1);//这里为什么要加个'昵称@'呢,直接发送str1不可以吗?回答1:完全可以,你发送什么字符串都可以,至于这里为什么要添加一个'昵称@’,只是为了便于接收方来分类处理发送方发送过来的字符串而已。问题2:CSocket.Socket.SendText ('#' + IntToStr(code) + sendstr + '!');//这里也不明白有何用意回答2:其实道理是一样的。以上这些,就牵扯到所谓“通讯规约”的问题了,例如某通讯规约定义如下:登录过程数据结构为:"@" + 用户名 + "@" + 登录密码文本消息数据结构为:"#" + 用户名 + "#" + 消息内容……那么,发送方就必须要严格按照这个通讯规约中定义的数据结构来发送数据,而接收方收到数据包之后,假如这个数据包中的第一个字符是@,那么接收方就知道这是一个登录过程的数据包,数据包后面部分包含了“用户名”和“登录密码”;假如这个数据包中的第一个字符是#,那么接收方就知道这是一个文本消息的数据包,数据包后面部分包含了“用户名”和“消息内容”;……;以此类推。 如何用Delphi控制控件的透明度啊? 如何让Dbgrid中的某列的时间例,只显示年月日,不显示时分秒? 请指点:急!希望数据自动输出到指定的Excel文件,然后自动保存不需要提示覆盖或保存。 delphi中如何使用海康威视的SDK Delphi中控制WORD 如果求出以一个字母+数字的数据的最大值?(例: A1,A2,A3,A20) qreport预览中的打印设置怎么没有用? ''用DELPHI能实现数据库方面的高级技术吗?‘’ 向导程序 请问:在delphi中有没有象javascript中的eval那样的函数? 为何这样数据绑定组件不起作用? 总结与分享DELPHI编程之图表功能实现方法
回答1:完全可以,你发送什么字符串都可以,至于这里为什么要添加一个'昵称@’,只是为了便于接收方来分类处理发送方发送过来的字符串而已。问题2:CSocket.Socket.SendText ('#' + IntToStr(code) + sendstr + '!');//这里也不明白有何用意
回答2:其实道理是一样的。以上这些,就牵扯到所谓“通讯规约”的问题了,例如某通讯规约定义如下:
登录过程数据结构为:"@" + 用户名 + "@" + 登录密码
文本消息数据结构为:"#" + 用户名 + "#" + 消息内容
……那么,发送方就必须要严格按照这个通讯规约中定义的数据结构来发送数据,而接收方收到数据包之后,假如这个数据包中的第一个字符是@,那么接收方就知道这是一个登录过程的数据包,数据包后面部分包含了“用户名”和“登录密码”;假如这个数据包中的第一个字符是#,那么接收方就知道这是一个文本消息的数据包,数据包后面部分包含了“用户名”和“消息内容”;……;以此类推。