Date: Wed, 15 Dec 2021 08:32:49 -0800 From: Chris <bsd-lists@bsdforge.com> To: freebsd-current@freebsd.org Subject: Re: question on socket server Message-ID: <21aa241b4b1af03e188cc1654393641d@bsdforge.com> In-Reply-To: <CA%2BGLnbhqwAWJYDxO0MV27mXhvyqWBdPPnAVd6mfQdiNWvuvahA@mail.gmail.com> References: <CA%2BGLnbiqXQDfMLovYgipiLjSvRSWk%2B1ukDrh779=zZDt3P2L7Q@mail.gmail.com> <1412287950.345.1639565502579@localhost> <CA%2BGLnbhqwAWJYDxO0MV27mXhvyqWBdPPnAVd6mfQdiNWvuvahA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2021-12-15 02:55, Piper H wrote: > 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); > } > } > I think it might be easier for you if you have a look at the MILTER interface to Sendmail. There are a myriad milters written for sendmail. The entire milter system is (unix) socket driven. So the examples should prove enlightening? :-) HTH -- Chris > 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 >> ------------------------------ >> >>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?21aa241b4b1af03e188cc1654393641d>