我希望创建一个使用PHP聊天。使用MySQL是个好主意吗?我知道构建聊天需要的不仅仅是PHP,但是我该怎么做呢?如何才能轻松做到这一点呢?我该从哪里开始呢?
发布于 2011-07-06 11:59:28
通过"instant“,您可能需要查看sockets
在Internet上发送信息时,通常会将其拆分成数据包。这允许以许多较小的信息片段发送大文件,以便稍后在另一端组装。
根据发送的信息类型和传输要求,有两种不同的协议可将信息拆分成数据包。TCP (传输控制协议)-传输的数据包被编号并在另一端组装,它们被组装以形成整个消息。TCP通常在IP (网际协议)上运行,因此称为TCP/IP。
TCP确保数据不会丢失(如果数据包丢失,将重新传输),因此非常适合发送图像、文件或其他必须完整接收的信息(如您的电子邮件)。UDP (用户数据报协议)-这是一种无连接协议。像TCP一样,它可以在IP协议上运行。不同之处在于,UDP提供的差错恢复服务很少,因此不能保证特定的分组将在另一端被接收,或者分组将以何种顺序被接收。
示例:
<?php
// Set time limit to indefinite execution
set_time_limit (0);
// Set the ip and port we will listen on
$address = '192.168.0.100';
$port = 9000;
// Create a TCP Stream socket
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
// Bind the socket to an address/port
socket_bind($sock, $address, $port) or die('Could not bind to address');
// Start listening for connections
socket_listen($sock);
/* Accept incoming requests and handle them as child processes */
$client = socket_accept($sock);
// Read the input from the client – 1024 bytes
$input = socket_read($client, 1024);
// Strip all white spaces from input
$output = ereg_replace("[ \t\n\r]","",$input).chr(0);
// Display output back to client
socket_write($client, $output);
// Close the client (child) socket
socket_close($client);
// Close the master sockets
socket_close($sock);
?>有关如何编写基于套接字的聊天服务器的更多信息,请访问此处:http://devzone.zend.com/article/1086
发布于 2011-07-06 12:00:36
你可以下载APE,它真的很好很酷:)
或者尝试使用PHP/MySQL、AJAX构建自己的数据库,但DB的问题是使用率高:(
发布于 2013-06-16 06:43:08
你可以使用套接字,@AlienWebguy说,但是关于如何将基于套接字的聊天与MySQL集成的内容并不多。
我已经做了一些测试,并且这里有一个基本的例子:https://github.com/andrefigueira/PHP-MySQL-Sockets-Chat
它使用Ratchet (http://socketo.me/)在PHP语言中创建聊天服务器。
您可以通过向服务器JSON发送聊天消息到数据库(当然,如果您有用户会话的话)。
https://stackoverflow.com/questions/6591373
复制相似问题