- 论坛徽章:
- 0
|
与perl的socket没发现问题,相同代码- tcp_connect $if_ip,$if_port,
- sub {
- my ($sock)=@_;
- unless ($sock) {
- $interface->{$if_info}=undef;
- delete $interface->{$if_info};
- $log->w_log(5,"[conn_interface] Could not connect to interfaceService $if_ip:$if_port");
- return;
- }
- my $handle;
- eval {
- $handle = AnyEvent::Handle->new (
- fh => $sock,
- on_read => sub {
- my $buf = delete $_[0]->{rbuf};
- if (defined($buf)) {
- push(@{$interface->{$if_info}->{recv_buf}},$buf);
- &check_recv_buf("interface",$if_info);
- }
- },
- on_eof => sub {
- $handle->destroy;
- undef $interface->{$if_info};
- delete $interface->{$if_info};
- $log->w_log(5,"[conn_interface] connection eof:$!");
- },
- on_error => sub {
- $handle->destroy;
- undef $interface->{$if_info};
- delete $interface->{$if_info};
- $log->w_log(5,"[conn_interface] connection error");
- },
- );
- };
- unless($handle) {
- $interface->{$if_info}=undef;
- delete $interface->{$if_info};
- $log->w_log(5,"[conn_interface] Create AnyEvent::Handle error!");
- return;
- }
- $interface->{$if_info}->{status}=1;
- $interface->{$if_info}->{sock} = $sock;
- }, sub {
- 5
- };
复制代码 |
|