| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 993 人关注过本帖, 1 人收藏
标题:winsock发送信息的问题?
只看楼主 加入收藏
sxxinhuastudent
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-10-7
收藏(1)
 问题点数:0 回复次数:1 
winsock发送信息的问题?
请教各位专家:我用winsock控件发送信息到服务端并想用条件判断语句来执行接收到的数据.但服务器程序却没有任何反应.我不明白是怎么回事?
我的程序是这样的:一个服务器程序和一个客户程序,服务器程序有若干个窗体,除主窗体外(form1外),还有若干个窗体(form2,form3等),客户程序窗体上有个组合框用于放置服务器程序中除主窗体外的其它窗体的标题名称,然后当我在客户程序窗体的组合框中选定某一项后,被选定的文字由winsock控件发送给服务器程序.然后我想在服务器程序中的winsock1_dataarrival()事件当中用if...then...elseif...then判断结构来判断所接收的数据是与那个窗体的标题属性相对应.然后把相应窗体中的列表框内的项目由winsock发送到客户端窗体的组合框下面的一个列表框中.但当我在组合框中选定了文字后,文字是发送出去了,但服务器程序却没有任何反应?我不知道是怎么回事?也不知道要实现这个功能,正确的程序应该怎么写呢?请高手指点下.可以的话,请帮助写出正确程序的代码(包括客户端发送到服务器的判断结构怎么写及服务器的winsock再把相应窗体的列表框的项目发送到客户端的列表框的代码).多谢了!(winsock我用的是TCP方式)
搜索更多相关主题的帖子: winsock 
2008-10-20 16:22
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
你服务器端的方向错了.

服务器端,应该是很少人去操作,所以不需要,也根本用不到多个窗体.
像你这个,服务器端,只需要一个窗体就够了.数据保存采用 结构数组来实事.
type 结构
  名字 as string
  数据() as string
end type
public 数据() as 结构

客户端连接服务器后,第一件事时,请求名字列表.
服务器收到名字列表后,按一定的格式把名字列表发过去.
客户端请求 某个名字列表时,
服务器收到这个名字后,找到对应的数据,然后把数据()按一定的格式发过去.

这里面,数据组织格式,一定要注意,不能光发一点数据来回,那么程序会混乱,必须自己定义一套指令.


public const CMD_C_OK=100
public const CMD_S_OK=110
public const CMD_C_N=200
public const CMD_S_N=210
public const CMD_S_N_E=510
public const CMD_C_L=300
public const CMD_S_L=310
public const CMD_S_L_E=520

public const 数据分隔符="$"

这样,每次发数据包时,必须包含命令,然后再按一定的格式组合数据.
如这种的数据结构.

$命令$长度$项数$项1$项2$项3$......

收到数据后,解码也方便,判断也好判断.


这只是我写 TCP通讯的一点心得,你自己参考参考

授人于鱼,不如授人于渔
早已停用QQ了
2008-10-20 17:10
快速回复:winsock发送信息的问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024527 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved