高手帮忙答一下~谢谢!
本人最近编了一个从通用串行服务器中读数的的程序,遇到了一些问题,望高手帮忙解决,该程序如下:
procedure TForm1.FormCreate(Sender: TObject);
var
sockfd,new_fd:TSocket;
my_addr,their_addr:TSockAddr;
sin_size:Integer;
ws:TWSADATA;
msg: array[0..256] of char;
a:real;
begin
if wsastartup(makeword(2,0),ws)<>-1 then
begin
sockfd:=socket(af_inet,sock_stream,0);
my_addr.sin_family:=af_inet;
my_addr.sin_port:=htons(5201);
my_addr.sin_addr.S_addr:=INADDR_ANY;
if bind(sockfd,my_addr,sizeof(tsockaddr))<>-1 then
begin
if listen(sockfd,8)<>-1 then
begin
sin_size:=sizeof(their_addr);
a:=accept(sockfd,@their_addr,@sin_size);[:)]
edit1.Text:=floattostr(a);
end;
end;
end;
end;
这个程序运行时,提示没有产生输出文件,把accept函数去掉后则可以正常运行,不知道为什么,望高手
指导一下。谢谢!!