delphi 问题求助 - Delphi / 网络通信/分布式开发
问题是这样子的
我在form1中定义了一个sk1:tsocket
然后在form2中
用sk1 发送东西 发完后 socket 自动关闭了~
但是在form1中发东西 如果我不运行 closesocket 的话 是不会断掉的
问下 这是怎么回事
另我在 form2 里加了个
uses Unit1;
直接调用 sk1~
这样子应该没问题吧~
单步调试了下~
type
test_array=array[0..211] of Byte;
var
re:integer;
message_headpack:array[0..3] of Byte;
test_byte:array[0..207] of Byte;
send_pack:test_array;
psend_pack:^test_array;
~~~~~~~~~~~~~~~~~~~~
前边是些赋值语句就不复制了
for i:=0 to sizeof(message_headpack)-1 do
send_pack[i]:=message_headpack[i];
for i:=SizeOf(message_headpack)to SizeOf(send_pack)-1 do
send_pack[i]:=test_byte[i-sizeof(message_headpack)];
re:=send(sk1,psend_pack^,Length(psend_pack^),0);
//单步运行到这一步 就发现信息包发出去后 然后socket也自动关闭了~sk1是套接字~我在unit1中定义的
if(Re=SOCKET_ERROR)then
begin
ShowMessage('发送错误');
exit;
end;
form2.Release;
close;
高手帮我看下
顶起来~
这个到底是怎么回事啊~
服务器是用C写的
我在unit1 下发送 是不会断开的~
但在unit2 下发送 socket就断开了~
加个输出错误信息看下
uses
Winsock2;
try
re:=send(sk1,psend_pack^,Length(psend
相关问答:
已知Python 中:
s = unicode("测试", "gb2312")
s = u'\u6d4b\u8bd5'
print s
测试
在Delphi里面如何将\u6d4b\u8bd5这样的还原成Gb2312的汉字呢?
找到个方法
......
select * from shuju.DB where 开盘价-收盘价<=0.02
开盘价 与收盘价 是数据库里的字段
select * from aTableName where ((开盘价-收盘价) <=0.02 )
开盘价比收盘价低两分以下的情况
Mark!!!!!!
se ......
各位好!!
假设我有两个text文件
一个名叫 1.text
内容:
I like PC....
另外一是2.text
内容:
function yk as string
endfunction
globals
endglobals
***********************分界线********** ......
var
FXmlDoc:IXMLDomDocument;
begin
使用FXmlDoc.save('文件路径');
结果发现保存后的该文件中文全部为乱码,如何解决
end;
参考这个
http://blog.csdn.net/jiangnanandi/archive/2008/11/28/3399804.aspx ......
数据: 年 月 日 开盘 收盘
使用下面语句搜索到了 每年每个月的月初和月末都是几号
select 年,月,MIN(日) as frist,MAX(日) AS laset from mt4his.DB GROUP BY 年,月
我想得到 每年每个月的月初和月末 ......