Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

How to create and Use Sockets in PHP?

Posted on 2010-11-28
11
Medium Priority
?
516 Views
Last Modified: 2013-11-27
Please help me to create single Socket and Socket Arrays in PHP . How to operate DataArrival Socket Connect, Socket Error, Socket Close events in PHP in detail.

-Thanks
0
Comment
Question by:appinities
  • 6
  • 3
11 Comments
 
LVL 6

Accepted Solution

by:
loopfinity earned 750 total points
ID: 34225241
0
 

Author Comment

by:appinities
ID: 34229438
Thanks "loopfinity" . Your reply is appreciable, But still ..lemme show you with an example what I want..

In visual basic 6.0 I am using a socking, its coding is like:

Im sending packets like:
Socket1.SendData (0), HextoAscii("02 03 8E 00 1A 00 00 00 07 00 01 00 00 00 01 01")

Open in new window


Here (0) is the Array of the socket..


Same thing for Data Arrival method in vb6.0 is:

Private Sub Sockm_DataArrival(ByVal Index As Variant, ByVal bytesTotal As Long)
On Error Resume Next
Dim TempString as String

Socket1.GetData Index, TempString, vbString
If  TempString = "2 1 9C 0 Then
   msgbox "Login Successfully"
Else
  msgbox "Login Failed"
Endif

Open in new window



Same thing I wann do with the PHP sockets.. so please show me "How can I use above codings in PHP sockets"?

-Thanks alot in Advance..
0
 

Author Comment

by:appinities
ID: 34229447
Sorry for double posting, Ijn the above code
Private Sub Sockm_DataArrival

Open in new window


is Actually

Private Sub Socket1_DataArrival

Open in new window

0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
LVL 43

Expert Comment

by:Rob
ID: 34264024
Have you gone through the user manual?

http://php.net/manual/en/book.sockets.php
0
 

Author Comment

by:appinities
ID: 34264391
Thanks Tagit, that link should help me alot, but I want you to convert my above codes into PHP. Thanks
0
 

Author Comment

by:appinities
ID: 34316473
Ok letme reduce the complexity of my question...

What should be the codings for : -

Suppose I wanna create a socket (TCP sockets not HTTP) with 5 arrays and wanna Connect these arrays with "gateway.abcdxyz.com" with Port "9009"

Now, After successfully connectivity , I wanna send a string to connected server.. string is "hello are you there?"

Now, If the connected server reply to my request, then I wanna display those responded message which are coming from the Server..
Example:
If server responding "Yes I am here"

then, how can I get responded message and can display it ?

-Thanks :(
0
 

Author Comment

by:appinities
ID: 34359413
Lolz..Still no reply... Where are experts ???? :@
0
 
LVL 43

Assisted Solution

by:Rob
Rob earned 750 total points
ID: 34365926
Here is a basic client/server using the attached Socket.php class for the server

Running on your server:
<?php
require('Socket.php');

$my_socket = new Socket(100, 27, true);

while(!$my_socket->waitClient()) {
	sleep(100);
}

// now connected

$sent_text = $my_socket->read();

if (strlen($sent_text) > 0) {
	$my_socket->write("Yes I am here\n");
}

?>

Open in new window


connect on the client
<?php
ob_start();
$socket=socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
while (!socket_connect($socket, "localhost", 27)) {
	ob_flush();
	sleep(1);
}
$message="hello are you there?\n";
$sent = socket_write($socket, $message);
if ($sent === false) {
	// Error occurred, break the while loop
	echo "error";
	break;
}
else {
	// Data sent ok
	echo "sent: $message<br/>";
	echo "received: " . read($socket);
}
ob_end_flush();

function read($_socket) {
	$message = '';
	do {
		$buff     = socket_read($_socket,1,PHP_BINARY_READ);
		$message .= $buff;
	} while( $buff != "\n" );
	return $message;
}
?>

Open in new window

Socket.php
0
 

Author Closing Comment

by:appinities
ID: 34367831
Thanks :)
0
 
LVL 43

Expert Comment

by:Rob
ID: 34373085
no problem but why the B grade? works doesn't it?
0

Featured Post

Prepare for your VMware VCP6-DCV exam.

Josh Coen and Jason Langer have prepared the latest edition of VCP study guide. Both authors have been working in the IT field for more than a decade, and both hold VMware certifications. This 163-page guide covers all 10 of the exam blueprint sections.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Knockoutjs (Knockout) is a JavaScript framework (Model View ViewModel or MVVM framework).   The main ideology behind Knockout is to control from JavaScript how a page looks whilst creating an engaging user experience in the least …
A quick Powershell script I wrote to find old program installations and check versions of a specific file across the network.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.
Suggested Courses

926 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question