写的一个程序,,分客户端和服务的,用的是TClientSocket和TServerSocket元件,客户端页面有一button发送按钮 单击事件代码如下:
GetIpAndPort();----设置要连接到的服务器IP地址和端口..(自己写的,从外部ini文件获取)
ClientSocket.Active:=true;
if connectFlag then
begin
ClientSocket.Socket.sentText('hello');
end;其中connectFlag为一public变量,在ClientSocket的onconnect事件里设置 connectFlag:=true;
在窗体的onshow 事件里 设置 connectFlag:=false;
在ClientSocket的OnError 事件里写了一句代码 showmessage(‘服务器没开!’);服务器窗体中我放了个ServerSocket 元件,在Form的onshow事件里设置了 ServerSocket.active:=true;
然后在ServerSocket的onClientRead 事件里写: showmessage(Socket.ReceiveText);但是现在出现了2个问题不知道如何解决,想了一天了..
问题1..在开了服务器的状态下,点击客服端的发送按钮,第一次点击时服务器总是收不到消息,而接下来的每次都收的到, 怎样才能在第一次点击时服务器就收到消息..是不是我的代码哪个地方没写..问题2..在没开服务器的状态下,点击客服端的发送按钮,弹出对话框“服务器没开”,但是关闭了对话框之后,又弹出错误提示对话框,关闭这个对话框,程序也被关了..我要求关闭onError事件弹出的对话框后,程序没有关闭..我是第一次用这东西,对Socket的API 不了解,
求各位大鸟帮忙解决..
GetIpAndPort();----设置要连接到的服务器IP地址和端口..(自己写的,从外部ini文件获取)
ClientSocket.Active:=true;
if connectFlag then
begin
ClientSocket.Socket.sentText('hello');
end;其中connectFlag为一public变量,在ClientSocket的onconnect事件里设置 connectFlag:=true;
在窗体的onshow 事件里 设置 connectFlag:=false;
在ClientSocket的OnError 事件里写了一句代码 showmessage(‘服务器没开!’);服务器窗体中我放了个ServerSocket 元件,在Form的onshow事件里设置了 ServerSocket.active:=true;
然后在ServerSocket的onClientRead 事件里写: showmessage(Socket.ReceiveText);但是现在出现了2个问题不知道如何解决,想了一天了..
问题1..在开了服务器的状态下,点击客服端的发送按钮,第一次点击时服务器总是收不到消息,而接下来的每次都收的到, 怎样才能在第一次点击时服务器就收到消息..是不是我的代码哪个地方没写..问题2..在没开服务器的状态下,点击客服端的发送按钮,弹出对话框“服务器没开”,但是关闭了对话框之后,又弹出错误提示对话框,关闭这个对话框,程序也被关了..我要求关闭onError事件弹出的对话框后,程序没有关闭..我是第一次用这东西,对Socket的API 不了解,
求各位大鸟帮忙解决..
解决方案 »
- 关于DBGridEh统计的问题
- [散分]笔记本丢了,女朋友终于说我在乎她比在乎笔记本多了
- !紧急求助:小弟在装Delphi7时proide70.bpl文件怎么也读不出,上网下载未果。只好求助各位大侠,如手头有delphi7,如能发至[email protected]
- 有关dephi中对象的实例克隆的问题.!
- Advstringgrid的问题,我想让它的一个cell是checkbox.
- 大家看看我这条SQL语句有什么问题?
- 怎么调试service的程序?
- 为什么 我在用 adotable作locate时,不管[]里是不是写参数,他都不能区分大小写,请高手指教,急。。。。。
- 关于sql语句
- 如何让打印机只打印当前页?
- 请教关于VISTA下创建VPN连接拨号的实现
- 急求TDialup控件
你只是在OnError 中写了showmessage,但是并没有阻止程序继续运行,可能就会导致出错,调试一下吧,看看错在哪个地方
跟踪了,发现第一次点击发送按钮,程序没有进去ClientSocket的onconnect事件..
我在ClientSocket的onconnect事件中设了断点,但是在第二次点击发送按钮的时候程序还是没有在断点处停留,但是服务器端却接收到了信息..