delphi 7中tcpserver 和 tcpclient的运用
首先我要说明我是一个新手其次是这个很诡异的问题tcpclient1.Active:=true;tcpclient1.Sendln('getin');iftcpclient...
首先我要说明我是一个新手
其次是这个很诡异的问题
tcpclient1.Active:=true;
tcpclient1.Sendln('get in');
if tcpclient1.Connect then
showmessage(tcpclient1.Receiveln)
else showmessage('dead');
tcpclient1.Active:=false;
-------客户端-------
procedure TForm1.TcpServer1Accept(Sender: TObject;
ClientSocket: TCustomIpClient);
begin
if clientsocket.Receiveln()='get in' then
begin
inc(allpeople);
tcpserver1.Sendln(inttostr(allpeople));
end;
end;
-------服务端-----
单步跟踪显示server1.sendln是运行的了
但是客户端showmessage了一个''。。。
而且我while true do if client.Receiveln<>'' then break;
它居然没跳出!
。。。。
求解 还有求解各项event用法
onconnect是不是只要连接了就会运行 还是那边传输了才会运行?
网上那些try 和finnal怎么用
procedure TForm1.btnSendClick(Sender: TObject);
var
I: Integer;
begin
TcpClient1.RemoteHost := edtRemoteHost.Text; //服务器IP
TcpClient1.RemotePort := edtRemotePort.Text; //服务器端口号
try
if TcpClient1.Connect then
for I := 0 to memSend.Lines.Count - 1 do
TcpClient1.Sendln(memSend.Lines[I]);
finally
TcpClient1.Disconnect;
end;
end;
求解释
谢谢! 展开
其次是这个很诡异的问题
tcpclient1.Active:=true;
tcpclient1.Sendln('get in');
if tcpclient1.Connect then
showmessage(tcpclient1.Receiveln)
else showmessage('dead');
tcpclient1.Active:=false;
-------客户端-------
procedure TForm1.TcpServer1Accept(Sender: TObject;
ClientSocket: TCustomIpClient);
begin
if clientsocket.Receiveln()='get in' then
begin
inc(allpeople);
tcpserver1.Sendln(inttostr(allpeople));
end;
end;
-------服务端-----
单步跟踪显示server1.sendln是运行的了
但是客户端showmessage了一个''。。。
而且我while true do if client.Receiveln<>'' then break;
它居然没跳出!
。。。。
求解 还有求解各项event用法
onconnect是不是只要连接了就会运行 还是那边传输了才会运行?
网上那些try 和finnal怎么用
procedure TForm1.btnSendClick(Sender: TObject);
var
I: Integer;
begin
TcpClient1.RemoteHost := edtRemoteHost.Text; //服务器IP
TcpClient1.RemotePort := edtRemotePort.Text; //服务器端口号
try
if TcpClient1.Connect then
for I := 0 to memSend.Lines.Count - 1 do
TcpClient1.Sendln(memSend.Lines[I]);
finally
TcpClient1.Disconnect;
end;
end;
求解释
谢谢! 展开
展开全部
procedure TForm1.TcpServer1Accept(Sender: TObject;
里面也是死循环来处理消息。直到你终止。
while ClientSocket.connected do
tcpclient1 也是类似的,用单独的线程死循环来处理接收的消息。 只有发送消息就无所谓
里面也是死循环来处理消息。直到你终止。
while ClientSocket.connected do
tcpclient1 也是类似的,用单独的线程死循环来处理接收的消息。 只有发送消息就无所谓
更多追问追答
追问
还能不能更详细些。。。或者代码 event里到底是干啥的。。。50分不想乱给请谅解!
追答
TcpServer1Accept 这个是服务端的组件接收到有客户端连接进入时(且TCP连接成功),就会触发这个事件,并且把,当时连接进入的ClientSocket提供出来,进行后续的处理。
btnSendClick 这个就是界面上点击一个按钮时,应该执行的代码。
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询