찾다
php教程PHP开发Perl 언어를 사용한 소켓 프로그래밍

네트워크 프로그래밍은 신비롭고 복잡한 예술이지만 매우 흥미롭습니다. Perl 언어는 풍부한 TCP/ip 네트워크 기능을 제공하며, 이 기능은 모두
C 언어의 소켓 라이브러리 기능에서 직접 파생됩니다.
Perl 언어와 C 언어의 소켓 라이브러리 기능은 유사합니다. 스타일과 사용법이 동일하므로 소켓 프로그래밍에는 Perl 언어를 사용하고 물론
소켓 프로그래밍에는 C 언어도 사용합니다.
다음은 Perl 언어의 관련 소켓 라이브러리 함수 목록입니다.
함수 프로토타입 사용 지침
accept(NEWSOCKET,GENERICSOCKET)는 요청된 소켓 연결을 수락합니다. 성공하면 네트워크 주소를 압축 형식으로 반환하고, 그렇지 않으면 FALSE를 반환합니다.
예:
if(!$ Connect=accept(NEW,HANDLE))
{
die "Connectionfailed:$!
";
}
bind(SOCKET,NAME)는 NAME과 SOCKET 사이의 바인딩을 설정합니다. 여기서 NAME 올바른 소켓 유형에 해당하는 압축된 주소여야 합니다.
성공하면 true를 반환하고 그렇지 않으면 false를 반환합니다.
네트워크 프로그래밍에 소켓을 사용할 때 이 함수는 소켓 핸들 간의 연결을 설정하므로 매우 중요합니다. 및 네트워크의 주소.
예:
bind(SH,$SocketAddress);
connect(SOCKET,NAME)는 accept() 함수를 호출하고 대기 중인 다른 프로세스와 통신을 시도합니다.
성공하면 True를 반환하고, 그렇지 않으면 false를 반환합니다. NAME은 올바른 SOCKET 핸들 유형에 해당하는 압축 주소여야 합니다.
예:
connect(SOCK,$address)||die " Can'tconnectwithremotehost:$!
";
gethostbyaddr(ADDRESS,TYPE)은 압축된 네트워크 주소를 사람이 읽고 이해하기 쉬운 이름과 주소로 변환합니다.
IP 주소만 호스트가 알려진 경우 이 함수를 사용하여 호스트 이름 및 기타 네트워크 정보를 쿼리할 수 있습니다. 다음 정보가 포함된 목록을 반환합니다:
($name,$alias,$addrtype,$length,$address)
여기서 $name은 IP 주소에 해당하는 호스트 이름이고, $alias는 $name Alias에 해당하는 다른 이름이고, $addrtype은 네트워크 주소 유형, $length는
주소의 길이, $address입니다.
예:
$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);

이메일 비밀번호 확인 프로그램의 원본 코드
다음 코드는 두 개의 운영 체제 하에서 두 개의 POP3 서버 263.net 및 pop.netease.com에서 엄격하게 테스트되었으며 성공적인 것으로 입증되었습니다.
첫 번째 종류:
운영 체제: Windows98 중국어 버전
WWW 서버 : Apache1.3.9forWin
Perl 인터프리터: ActiveStateToolCorp's PerlforWin32, version5.005_03builtforMSWin32-x86-object
두 번째 유형:
운영 체제: RedHatlinux6.1
WWW 서버: Apache1.3.6forLinux
Perl 인터프리터: version5.005_03buildfori386-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

";
인쇄"POP3
";
인쇄 "
";


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
{
인쇄"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 중국어 홈페이지(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 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구