ホームページ php教程 PHP开发 Perl言語を使用したソケットプログラミング

Perl言語を使用したソケットプログラミング

Dec 16, 2016 pm 01:54 PM

ネットワーク プログラミングは神秘的で複雑な芸術ですが、もちろん非常に興味深いものでもあります。 Perl 言語は豊富な TCP/ip ネットワーク関数を提供しますが、それらはすべて C 言語のソケット ライブラリ関数から直接派生したものです。Perl 言語と C 言語のソケット ライブラリ関数は形式と使用法が同じであるため、そのため、ソケット プログラミングには Perl 言語を使用できます。もちろん、ソケット プログラミングには C 言語も使用できます。
以下は、Perl 言語の関連ソケット ライブラリ関数のリストです。
関数プロトタイプの使用手順
accept ( NEWSOCKET、GENERICSOCKET) を使用して、要求されたソケット接続を受け入れます。成功した場合は、圧縮形式でネットワーク アドレスを返します。 $!
";
}
bind (SOCKET, NAME) は、NAME と SOCKET の間のバインディングを確立します。NAME は、ソケットの正しいタイプに対応する圧縮アドレスである必要があります。
成功した場合は true を返し、それ以外の場合は false を返します。ネットワーク プログラミングにソケットを使用する場合、この関数は非常に便利です。重要なのは、ソケット ハンドルとネットワーク上のアドレス間の関連付けを確立するためです。
例:
bind(SH,$SocketAddress);
connect(SOCKET,NAME) は次のことを試みます。 accept() 関数を呼び出し、接続の確立を待機している accept() 関数と接続します。
成功した場合は true を返し、そうでない場合は false を返します。NAME は正しいアドレスに対応する必要があります。 SOCKET ハンドルのタイプ
例:
connect(SOCK,$address)||die"Can'tconnectwithremotehost:$!
";
gethostbyaddr(ADDRESS,TYPE) は、圧縮されたネットワーク アドレスを人間にとってわかりやすい名前とアドレスに変換します
ホストの IP アドレスのみがわかっている場合、この関数を使用してホスト名とその他のネットワーク情報をクエリできます。
($name,$alias,$) addrtype,$length,$address)
ここで、$name は IP アドレスに対応するホスト名、$alias は $name に対応する他のエイリアス、$addrtype はネットワーク アドレスのタイプ、$length はアドレスの長さです、$address は圧縮された IP アドレスのリストです。
例:
$PackedAddress=pack("C4",$IPAddr);
($name, $alias,$addrtype,$length,$address)
=gethostbyaddr( $PackedAddress,2);
gethostbyname(NAME) は上記の gethostbyaddr() 関数に似ていますが、ここではホスト名がパラメータとして使用されます。返される情報の形式は完全に同じです。
例:
$Host="stuff. com";
($name,$alias,$addrtype,$length,$address)
=gethostbyname($Host);
@IP=unpack("C4", $address[0]);
$HostIP=join (".",@IP);

電子メール パスワードを検証するプログラムの元のコード
次のコードは、com の 2 つの POP3 サーバー上の 263.net と Pop.netease で動作することが厳密にテストされ、証明されました。
最初のタイプ:
オペレーティング システム: Windows98 中国語バージョン
WWW サーバー: Apache1.3.9forWin
Perl インタプリタ: ActiveStateToolCorp の PerlforWin32、バージョン 5.005_03builtforMSWin32-x86-object
2 番目のタイプ:
オペレーティング システム: RedHatlinux6.1
W WWサーバー: Apache1.3.6forLinux
Perl インタプリタ: version5.005_03builtfori386-linux

#!/usr/bin/perl
#test.pl
#Authorhomepage: http://spot.126.com
usestrict;
useSocket;

my$pop3server="263.net";
my$port=110;

$|=1;
PRint"Content-type:text/html

";
print"POP3
";
print"
" ;


my($a,$name,$aliases,$proto,$type,$len,$thataddr,$thisaddr,$i);
my$AF_INET=2;
my$SOCK_STREAM=1;
my $sockaddr="Sna4x8";

($name,$aliases,$proto)=getprotobyname("tcp");
($name,$aliases, $port)=getservbyname($port,"tcp")
$port=~/^d $/;;
($name,$aliases,$type,$len,$thataddr)=gethostbyname($pop3server);

my$this=pack($sockaddr,$AF_INET,12345) ,$thisaddr);
my$that=pack($sockaddr,$AF_INET,$port,$thataddr);

my$mysocket=socket(S, $AF_INET,$SOCK_STREAM,$proto);
if($mysocket )
{
}
else
{
print "ソケットを開けません:$!";
exit(0);
}

my$mybind=bind (S,$this);
if($mybind)
{
}
else
{
print「バインドできません! :$!";
exit(0);
}

my$myconnect=connect(S,$that);
if($myconnect)
{
}
else
{
print"接続エラー:$!" ;
exit(0);
}

my$BUF="";
my$SenderIP=recv(S,$BUF,596,0);
if($SenderIP)
{
}
else
{
print "受信エラー: $!";
exit(0);
}

if(substr($BUF,0,3)eq" OK")
{
}
else
{
print"POP3 サーバー エラー!

";
exit(0);
}

my$BUFFER="USERzhangsan";
$BUFFER.=chr(13);
$BUFFER.=chr(10);

my$SENVAL=send( S,$BUFFER,0);
if($SENVAL)
{
}
else
{
print "送信エラー: $!";
exit(0);
}

my$BUF="";
my$SenderIP=recv(S,$BUF,4096,0);
if($SenderIP)
{
}
else
{
print "受信エラー: $!";
exit(0);
}

if(substr($BUF,0,3)eq" OK")
{
}
else
{
print"そのようなアカウントはありません!

";
exit(0);
}

$BUFFER="PASS12345678 ";
$BUFFER.=chr(13);
$BUFFER.=chr(10);


my$SENVAL=send(S,$BUFFER,0);
if($SENVAL)
{
}
else
{
print"送信エラー: $!";
exit(0);
}

$BUF="";
my$SenderIP=recv(S,$BUF,196,0);
if($SenderIP)
{
}
else
{
print "受信エラー: $!";
exit(0);
}

if(substr($BUF,0,3)eq" OK")
{
}
else
{
print "パスワードが間違っています!";
exit(0);
}

print パスワードは正しいです!

上記は Perl 言語を使用したソケットプログラミングの内容です。その他の関連記事については、こちらをご覧ください。 PHP 中国語 Web サイト (www .php.cn)!


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Python でソケット プログラミングを使用してデータ通信を行う方法 Python でソケット プログラミングを使用してデータ通信を行う方法 Oct 18, 2023 am 11:06 AM

タイトル: Python によるソケット プログラミングとコード例 はじめに: 現代のインターネット時代では、データ通信があらゆる場所で行われています。 Python でのソケット プログラミングは、ネットワーク上でのデータ送信を実現するための簡単かつ効果的な方法を提供します。この記事では、データ通信に Python のソケット モジュールを使用する方法を紹介し、読者がソケット プログラミングをよりよく理解して適用できるように、具体的なコード例を示します。 1. ソケットプログラミングとは何ですか?ソケット、つまりソケットは次の実装です。

Vue.js と Perl 言語を使用して効率的な Web クローラーとデータ スクレイピング ツールを開発します。 Vue.js と Perl 言語を使用して効率的な Web クローラーとデータ スクレイピング ツールを開発します。 Jul 31, 2023 pm 06:43 PM

Vue.js と Perl 言語を使用して、効率的な Web クローラーとデータ スクレイピング ツールを開発します。近年、インターネットの急速な発展とデータの重要性の増大に伴い、Web クローラーとデータ スクレイピング ツールの需要も増加しています。この文脈では、Vue.js と Perl 言語を組み合わせて効率的な Web クローラーとデータ スクレイピング ツールを開発することは良い選択です。この記事では、Vue.js と Perl 言語を使用してこのようなツールを開発する方法を紹介し、対応するコード例を添付します。 1. Vue.js と Perl 言語の概要

PHPのソケットプログラミング機能の使い方は? PHPのソケットプログラミング機能の使い方は? Jun 03, 2023 pm 09:51 PM

PHP は Web 開発で広く使用されているプログラミング言語であり、多くのネットワーク プログラミング アプリケーションをサポートしています。中でもソケットプログラミングは、ネットワーク通信を実現するためによく使われる手法で、プログラムがプロセス間通信を実現し、ネットワークを介してデータを送信することができます。この記事では、PHP でソケット プログラミング関数を使用する方法を紹介します。 1. ソケット プログラミングの概要 ソケット (ソケット) は、ネットワーク通信におけるオープン ポートを表す抽象的な概念であり、プロセスは他のプロセスと通信するためにこのポートに接続する必要があります。

C++ をネットワーク プログラミングに使用するにはどうすればよいですか? C++ をネットワーク プログラミングに使用するにはどうすればよいですか? Nov 03, 2023 am 11:10 AM

インターネットの発展に伴い、ネットワーク プログラミングはコンピューター サイエンスの重要な部分を占めるようになりました。 C++ は強力なプログラミング言語として、ネットワーク プログラミングに対する多くのサポートも提供します。この記事では、C++ を使用してネットワーク プログラミングを行う方法を紹介します。ネットワーク プログラミングの概要 ネットワーク プログラミングは、コンピューター ネットワークを使用した通信用のプログラムを作成するプロセスです。ネットワーク プログラミングでは、データ送信にネットワーク プロトコル (TCP/IP など) を使用する必要があります。ネットワーク プログラミングには、クライアントとサーバーという 2 つの主な役割があります。クライアントはリクエストを開始するプログラムを参照し、

Python と Perl を使用して高性能 Web アプリケーションを構築するためのベスト プラクティス Python と Perl を使用して高性能 Web アプリケーションを構築するためのベスト プラクティス Jun 17, 2023 am 08:09 AM

今日のデジタル時代では、Web アプリケーションがますます一般的になり、私たちの生活がより便利かつ効率的になりました。 Python と Perl は広く使用されている 2 つのプログラミング言語であり、どちらも Web アプリケーションの構築に最適です。ただし、高パフォーマンスの Web アプリケーションを構築するには、いくつかのベスト プラクティスを習得する必要があります。この記事では、Python と Perl で高パフォーマンスの Web アプリケーションを構築するためのいくつかのベスト プラクティスを紹介します。適切な Web フレームワークの選択 適切な Web フレームワークを選択することは、高パフォーマンスの Web アプリケーションを設計する上で重要なステップです。

Vue.js および Perl 言語を使用してシステム スクリプトと自動化ツールを開発する Vue.js および Perl 言語を使用してシステム スクリプトと自動化ツールを開発する Jul 29, 2023 pm 04:57 PM

Vue.js と Perl 言語を使用したシステム スクリプトと自動化ツールの開発 現在のソフトウェア開発環境では、システム スクリプトと自動化ツールは開発者にとって時間を節約し効率を向上させる重要なツールとなっています。この記事では、Vue.js と Perl 言語を使用してシステム スクリプトと自動化ツールを開発する方法を紹介し、いくつかのコード例を示します。 Vue.js は、ユーザー インターフェイスを構築するための人気のある JavaScript フレームワークです。コンポーネントベースの開発アプローチを採用しているため、開発者は次のことを行うことができます。

Go 言語でのソケット プログラミングとサーバーサイドの記述 Go 言語でのソケット プログラミングとサーバーサイドの記述 May 31, 2023 pm 11:40 PM

インターネットの急速な発展に伴い、ネットワーク通信を必要とするアプリケーションが増えており、ソケット プログラミングは重要なプログラミング方法となっています。 Go言語は近年注目を集めているプログラミング言語であり、ネットワークプログラミングの分野でも独特の利点を持っています。この記事ではGo言語でのソケットプログラミングと簡単なサーバープログラムの書き方を紹介します。 1. ソケットプログラミングの概要 ソケットは、アプリケーション層とトランスポート層の間に設けられた抽象化層で、アプリケーションがネットワーク上で通信できるようにします。

PHP 初心者ガイド: ソケット プログラミング PHP 初心者ガイド: ソケット プログラミング May 21, 2023 am 08:31 AM

PHP 入門ガイド: ソケット プログラミング ソケット プログラミングとは、コンピューター ネットワーク上で通信する方法を指します。ソケット プログラミングを通じて、チャット ルーム、オンライン ゲーム、インターネット通話など、さまざまな種類のネットワーク アプリケーションを実装できます。 Web開発の分野でも、リアルタイム通信やプッシュメッセージなどの機能を実現するなど、Webアプリケーションをよりカラフルでインタラクティブにするために、ソケットプログラミングは非常に重要な役割を果たしています。 PHP は非常に

See all articles