PHP向socket服务器收发数据的方法_PHP
本文实例讲述了PHP向socket服务器收发数据的方法。分享给大家供大家参考。具体如下:
在PHP要向其它程序发送数据,则需要使用到php的socket功能来实例了,下面我们简单看一个实例,代码如下:
代码如下:
/*socket收发数据
@host(string) socket服务器IP
@post(int) 端口
@str(string) 要发送的数据
@back 1|0 socket端是否有数据返回
返回true|false|服务端数据
*/
function sendSocketMsg($host,$port,$str,$back=0){
$socket = socket_create(AF_INET,SOCK_STREAM,0);
if ($socket
$result = @socket_connect($socket,$host,$port);
if ($result == false)return false;
socket_write($socket,$str,strlen($str));
if($back!=0){
$input = socket_read($socket,1024);
socket_close ($socket);
return $input;
}else{
socket_close ($socket);
return true;
}
}
socker_read的第二个参数用以指定读入的字节数,你可以通过它来限制从客户端获取数据的大小.
sock函数介绍
函数名 | 描述 |
socket_accept() | 接受一个Socket连接 |
socket_bind() | 把socket绑定在一个IP地址和端口上 |
socket_clear_error() | 清除socket的错误或者最后的错误代码 |
socket_close() | 关闭一个socket资源 |
socket_connect() | 开始一个socket连接 |
socket_create_listen() | 在指定端口打开一个socket监听 |
socket_create_pair() | 产生一对没有区别的socket到一个数组里 |
socket_create() | 产生一个socket,相当于产生一个socket的数据结构 |
socket_get_option() | 获取socket选项 |
socket_getpeername() | 获取远程类似主机的ip地址 |
socket_getsockname() | 获取本地socket的ip地址 |
socket_iovec_add() | 添加一个新的向量到一个分散/聚合的数组 |
socket_iovec_alloc() | 这个函数创建一个能够发送接收读写的iovec数据结构 |
socket_iovec_delete() | 删除一个已经分配的iovec |
socket_iovec_fetch() | 返回指定的iovec资源的数据 |
socket_iovec_free() | 释放一个iovec资源 |
socket_iovec_set() | 设置iovec的数据新值 |
socket_last_error() | 获取当前socket的最后错误代码 |
socket_listen() | 监听由指定socket的所有连接 |
socket_read() | 读取指定长度的数据 |
socket_readv() | 读取从分散/聚合数组过来的数据 |
socket_recv() | 从socket里结束数据到缓存 |
socket_recvfrom() | 接受数据从指定的socket,如果没有指定则默认当前socket |
socket_recvmsg() | 从iovec里接受消息 |
socket_select() | 多路选择 |
socket_send() | 这个函数发送数据到已连接的socket |
socket_sendmsg() | 发送消息到socket |
socket_sendto() | 发送消息到指定地址的socket |
socket_set_block() | 在socket里设置为块模式 |
socket_set_nonblock() | socket里设置为非块模式 |
socket_set_option() | 设置socket选项 |
socket_shutdown() | 这个函数允许你关闭读、写、或者指定的socket |
socket_strerror() | 返回指定错误号的详细错误 |
socket_write() | 写数据到socket缓存 |
socket_writev() | 写数据到分散/聚合数组 |
注意:socket_read函数会一直读取壳户端数据,直到遇见n,t或者字符,PHP脚本把这些字符看做是输入的结束符.
希望本文所述对大家的php程序设计有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.
