ถามเรื่องการใช้ Function socket_connect และ socket_creat

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderators: mindphp, ผู้ดูแลกระดาน

bighead
PHP Newbie
PHP Newbie
Posts: 1
Joined: 12/02/2009 7:37 pm

ถามเรื่องการใช้ Function socket_connect และ socket_creat

Post by bighead » 12/02/2009 7:54 pm

อยากทราบว่า 2 ฟังชันก์นี้ใช้งานยังไงครับ คือ ผมทำโปรเจคเกี่ยวกับระบบตรวจสอบเครือข่ายครับ แล้วมานติด Error ที่ 2 ฟังชันก์นี้ ผมลองศึกษาแล้วไม่เข้าใจครับ ฝากท่านผู้รู้ช่วยหน่อยครับ มันขึ้น Error นี้มาครับ

Warning: socket_connect() [function.socket-connect]: unable to connect [0]: The requested address is not valid in its context. in C:\AppServ\www\netmornitor\ck.php on line 45

Warning: socket_connect() [function.socket-connect]: unable to connect [0]: The requested address is not valid in its context. in C:\AppServ\www\netmornitor\ck.php on line 45

Warning: socket_connect() [function.socket-connect]: unable to connect [0]: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. in C:\AppServ\www\netmornitor\ck.php on line 45

Warning: socket_connect() [function.socket-connect]: unable to connect [0]: The requested address is not valid in its context. in C:\AppServ\www\netmornitor\ck.php on line 45

ส่วน Code ที่เขียนเป็นแบบนี้ครับ

<?
include("connect.php");
$sql="SELECT * FROM serv_ip where SERV_ID='$ip'";//ดึงข้อมูลจาก table serv_ip มาใช้งาน
$data=mysql_query($sql);
$row=mysql_num_rows($data);
$result=mysql_query($sql);
$arr_data=mysql_fetch_array($result);
$SERV_ID=$arr_data["SERV_ID"];
$S_NUMBER_IP=$arr_data["S_NUMBER_IP"];
$TCP=$arr_data["TCP"];
$DHCP=$arr_data["DHCP"];
$HTTP=$arr_data["HTTP"];
$FTP=$arr_data["FTP"];
$SSH=$arr_data["SSH"];
//......................................
$services = array('TCP', 'DHCP', 'HTTP', 'FTP', 'SSH');//ประกาศตัวแปร อาร์เรให้กับ services
set_time_limit(0);

foreach ($services as $service) {
/* Get the port for the WWW service. */
$service_port = getservbyname($service, 'tcp');
$ipaddress="$S_NUMBER_IP";
/* Get the IP address for the target host. */
/*$address = gethostbyname($ipaddress);*/
//echo $ipaddress;
/* Create a TCP/IP socket. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
//echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
} else {
//echo "$service \n";
}
$result = socket_connect($socket ,$ipaddress, $service_port);
if ($result === false ) {
//เมื่อไม่มีการ connect ตัวแปรจะมีค่าเป็น 0
$port[$service]=0;
//echo $port[$service]. "\n<BR>";
} else {
//เมื่อไม่มีการ connect ตัวแปรจะมีค่าเป็น 1
$port[$service]=1;
//echo $port[$service]. "\n<BR>";
}


}
socket_close($socket);

//..................................
//เปรียบเทียบข้อมูลพอร์ตว่ามีการเลือกหรือไม่
if($TCP==1){$TCP2=$port[TCP];}
if($TCP==0){$TCP2=2;}
if($DHCP==1){$DHCP2=$port[DHCP];}
if($DHCP==0){$DHCP2=2;}
if($HTTP==1){$HTTP2=$port[HTTP];}
if($HTTP==0){$HTTP2=2;}
if($FTP==1){$FTP2=$port[FTP];}
if($FTP==0){$FTP2=2;}
if($SSH==1){$SSH2=$port[SSH];}
if($SSH==0){$SSH2=2;}

//.............................

$sql2="SELECT * FROM ck_serv_ip where SERV_ID='$ip'";
$data2=mysql_query($sql2);
$row2=mysql_num_rows($data2);
if($row2==0){//ถ้าหาก table ยังไม่มี ip จะทำการแรก port ดังกล่าว
$sql3="INSERT INTO ck_serv_ip (SERV_ID,TCP,DHCP,HTTP,FTP,SSH,DATE,TIME) VALUES('$ip','$TCP2','$DHCP2','$HTTP2','$FTP2','$SSH2','$date_in','$time_in');";
mysql_query($sql3);
}
//....................................

$max = mysql_query("select max(CK_SERV_ID) from ck_serv_ip where SERV_ID='$ip'");
$total_max = mysql_result($max,0);//ตวรจดู CK_SERV_ID ที่มีค่าสูงสุดของ ip ได้ข้อมูลที่อัพเดทที่สุด
$sql4="SELECT * FROM ck_serv_ip where CK_SERV_ID='$total_max'";
$result4=mysql_query($sql4);
$arr_data4=mysql_fetch_array($result4);
$CK_SERV_ID3=$arr_data4["CK_SERV_ID"];
$SERV_ID3=$arr_data4["SERV_ID"];
$TCP3=$arr_data4["TCP"];
$DHCP3=$arr_data4["DHCP"];
$HTTP3=$arr_data4["HTTP"];
$FTP3=$arr_data4["FTP"];
$SSH3=$arr_data4["SSH"];
$DATE3=$arr_data4["DATE"];
$TIME3=$arr_data4["TIME"];

//...............................................

if($TCP3!=2){$TCP4=$port[TCP];}else{$TCP4=2;}
if($DHCP3!=2){$DHCP4=$port[DHCP];}else{$DHCP4=2;}
if($HTTP3!=2){$HTTP4=$port[HTTP];}else{$HTTP4=2;}
if($FTP3!=2){$FTP4=$port[FTP];}else{$FTP4=2;}
if($SSH3!=2){$SSH4=$port[SSH];}else{$SSH4=2;}
if(($TCP3!=$TCP4)||($DHCP3!=$DHCP4)||($HTTP3!=$HTTP4)||($FTP3!=$FTP4)||($SSH3!=$SSH4))//เปรียบเทียบว่ามีการเปลี่ยนแปลงหรือไม่
{
$sql5="INSERT INTO ck_serv_ip (SERV_ID,TCP,DHCP,HTTP,FTP,SSH,DATE,TIME) VALUES('$ip','$TCP4','$DHCP4','$HTTP4','$FTP4','$SSH4','$date_in','$time_in');";
mysql_query($sql5);//หากมีก่ารเปลี่ยนแปลง จะทำการแทรกแถวใหม่ทันที
}
//echo "<meta http-equiv=\"refresh\" content='0;URL=ck_reportscan.php'>";
?>

รบกวนผู้รู้ช่วยทีครับ งงมากๆครับ ขอบคุณครับ

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 23708
Joined: 22/09/2008 6:18 pm
Contact:

Re: ถามเรื่องการใช้ Function socket_connect และ socket_creat

Post by mindphp » 14/02/2009 12:43 am

connect ไปที่ server ไหนครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Programming - PHP”

Who is online

Users browsing this forum: Bing [Bot], MSN [Bot] and 114 guests