PHP socket_write работает в первый раз, но

Я связываю, чтобы написать несколько сообщений (каждое сообщение, созданное динамически) на устройство через один сокет, созданный с помощью PHP. Первое сообщение всегда проходит; но последующие сообщения не проходят. Чтобы помочь мне отладить, пожалуйста, дайте мне знать, если есть проблема с этим примером:

$socket= socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_connect($socket, $ip, $port); socket_write($socket, "message 1\r"); socket_write($socket, "message 2\r"); 

Вы пытались добавить возврат каретки в socket_write($socket, "message 1\r\n"); до конца сообщения? Во многих случаях, когда вы работаете с буферами и потоками, это похоже на трюк.

Что-то еще стоит сделать:

 //all suggestions rolled into one (including Chris' chr(0) - thanks for that one) socket_write($socket, 'message 1'."\r\n".chr(0)); usleep(5); socket_write($socket, 'Foobar'."\r\n".chr(0)); 

просто давая этому немного дополнительного времени, чтобы очистить буфер, вы можете делать чудеса.

РЕДАКТИРОВАТЬ

У меня была еще одна мозговая волна: вы тоже пытались использовать параметр дополнительной длины?

 socket_write($socket, 'message 1'."\r\n".chr(0),strlen('message 1'."\r\n".chr(0)));