hi,
Did any one tried to access/coonect directly to mod_perl using sockets. for example $peeraddress = http://somesite/modperl
if any 1 did that, i need few suggestions on that.
what im trying to do
client code
#!/usr/bin/perl
use strict;
use IO::Socket;
use URI;
my $location = shift || "http://openbox:1011/MW";
my $url = new URI( $location );
my $host = $url->host || "openbox";
my $port = $url->port || 1011;
my $path = $url->path || "/MW";
my $socket = new IO::Socket::INET (PeerAddr => $host,
PeerPort => $port,
Proto => 'tcp')
or die "Cannot connect to the $host.\n";
$socket->autoflush (1);
my $hash = {
name => 'sourcer',
pass => 'unknown',
};
print $socket "POST $path HTTP/1.1","\n";
print $socket "Host: $host","\n\n";
print $socket "hello this is a test sentence";
#print while (<$socket>);
$socket->close;
now the server code
use strict;
use Data::Dumper;
use IO::Socket;
use Apache2::RequestRec ();
use Apache2::Const -compile => ( 'OK', 'NOT_FOUND' );
use Apache2::compat;
sub handler
{
$| = 1;
my( $r ) = @_;
#$r->content_type("text/html");
my $socket = IO::Socket::INET->new (
Peeraddr => "localhost
+",
BindPort => 1011,
Proto => "tcp",
type => SOCK_STREA
+M,
Listen => 256 ) or di
+e "Couldn't connect : $@\n";
# wait for a connection
my $new_sock = $socket->accept();
while (<$new_sock>) {
print $_;
}
$socket->close;
i can connect to the server, but i send something to server nothing happens on server side, it does'nt log the client messages.
note: Apache uses the same port that i mentioned in server code (peerport => 1011)
thanks
Arun
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.