Re: question on socket server
Date: Wed, 15 Dec 2021 10:55:17 UTC
But I write this program to listen on port 6666 who sends a random str to the socket every 0.25 second. And there is no client connecting to the port. The server just runs there without problem. :( So I am not sure enough... use strict; package MyPackage; use base qw(Net::Server); my @fruit=qw( ... ); sub process_request { my $self = shift; $| = 1; my $max = scalar @fruit; while (1) { my $id1 = int(rand($max)); my $str = $fruit[$id1]; print "$str\015\012"; select(undef, undef, undef, 0.25); } } MyPackage->run(port => 6666, ipv => '*'); On Wed, Dec 15, 2021 at 6:51 PM Ronald Klop <ronald-lists@klop.ws> wrote: > Hi, > > Just try it! > > I think you will get an error that you are writing to a not-connected > socket. > From "man 2 write": > " [EPIPE] An attempt is made to write to a socket of type > SOCK_STREAM that is not connected to a peer socket." > > See also "man 2 send" and "man 2 socket" for a lot more information. > > So it depends a bit on the type of socket you created. > > Regards and happy hacking, > Ronald. > > > > *Van:* Piper H <potthua@gmail.com> > *Datum:* woensdag, 15 december 2021 07:52 > *Aan:* freebsd-current@freebsd.org > *Onderwerp:* question on socket server > > Hello > > I have little knowledge about socket programming. > I have a question that, if I have made a socket server, listening on a > port. The server prints data to the socket, but there is never a client > connection to the port, and the data is never consumed. What will happen to > the server then? will the OS kernel be flushed by junk bytes? > > Thanks for your help. > Piper > ------------------------------ > >