Trò chuyện ổ cắm PHP

Trong bài đăng này, chúng tôi sẽ xây dựng một Ứng dụng trò chuyện PHP và Mysql đơn giản bằng cách sử dụng PHP Web Socket Ratchet. Nếu bạn đang tìm kiếm Cách tạo Ứng dụng trò chuyện trực tiếp hoặc thời gian thực bằng PHP thì bạn đã đến đúng nơi, vì trong bài đăng này, chúng tôi đã chia sẻ cho bạn cách tạo Ứng dụng trò chuyện trực tiếp PHP bằng WebSockets. Trong bài đăng này, chúng tôi sẽ tạo Ứng dụng trò chuyện trong đó nhiều người dùng có thể trò chuyện với những người dùng khác

Đây là bài đăng rất thú vị về Cách tạo Ứng dụng trò chuyện bằng PHP mà không cần sử dụng Ajax. Trong một bài viết trước của chúng tôi, chúng tôi đã xuất bản hướng dẫn về ứng dụng Trò chuyện trong PHP bằng cách sử dụng ajax. Nhưng như chúng ta đã biết trong hệ thống Chat, ứng dụng Chat dựa trên Ajax trong PHP không phải là giải pháp tốt nhất, điều này là do Ajax sẽ tăng tải cho máy chủ. Vì vậy, ở đây, chúng tôi đã sử dụng Ratchet PHP WebSockets để xây dựng ứng dụng trò chuyện trực tiếp theo thời gian thực bằng PHP và trong ứng dụng trò chuyện này, chúng tôi sẽ lưu trữ dữ liệu trò chuyện trong cơ sở dữ liệu Mysql khi một người dùng đăng trò chuyện trong hệ thống này

Từ hướng dẫn này, bạn không chỉ có thể tìm hiểu cách tạo ứng dụng trò chuyện nhóm hoặc trò chuyện nhiều người dùng bằng thư viện Ratchet WebSocket mà còn có thể tìm thấy giải pháp này cho từng người dùng hoặc ứng dụng trò chuyện riêng tư. Điều này là do dưới bài đăng này, chúng tôi sẽ kết hợp mã nguồn của hệ thống trò chuyện nhóm và mã nguồn hướng dẫn ứng dụng trò chuyện 1-1. Vì vậy, từ hướng dẫn duy nhất này, bạn có thể tìm ra giải pháp về cách tạo hệ thống trò chuyện nhóm và cách xây dựng ứng dụng trò chuyện 1-1 thời gian thực.

Tính năng của ứng dụng trò chuyện nhóm


Trong ứng dụng Trò chuyện nhóm này bằng cách sử dụng ổ cắm Web Ratchet, bạn có thể nhận được tính năng sau trong hướng dẫn này

  1. Khi một người dùng đã gửi tin nhắn trò chuyện thì người dùng khác được kết nối khác có thể nhận được tin nhắn trò chuyện bằng máy chủ máy khách Ratchet
  2. Trạng thái trực tuyến hoặc ngoại tuyến của người dùng sẽ được thay đổi sau khi làm mới trang

Tính năng của ứng dụng trò chuyện một đối một


Trong ứng dụng trò chuyện Một đối một hoặc Một người dùng hoặc Trò chuyện riêng tư này với thư viện Ratchet WebSocket, bạn có thể tìm thấy tính năng sau trong hướng dẫn này

  1. Gửi tin nhắn trò chuyện 1-1 trong thời gian thực bằng Thư viện Ratchet WebSocket
  2. Hiển thị hoặc ẩn Thông báo tin nhắn chưa đọc trong thời gian thực bằng Thư viện Ratchet WebSocket
  3. Hiển thị Trạng thái Trực tuyến hoặc Ngoại tuyến của Người dùng trong thời gian thực bằng Thư viện Ratchet WebSocket





WebSockets là gì?


WebSockets là một công cụ hai chiều và song công hoàn toàn, cung cấp kết nối liên tục từ trình duyệt web đến máy chủ của chúng tôi. Vì vậy, khi kết nối WebSocket đã được thiết lập trong trình duyệt của chúng tôi, thì nó sẽ mở kết nối cho đến khi máy khách hoặc máy chủ quyết định đóng kết nối này. Vì vậy, với kết nối mở này, người dùng hoặc máy chủ của chúng tôi có thể gửi hoặc nhận dữ liệu trò chuyện với nhau vào bất kỳ thời điểm nào và điều đó sẽ giúp lập trình web của chúng tôi hoàn toàn dựa trên sự kiện và không chỉ người dùng bắt đầu. Các lợi ích khác của ổ cắm web này là đồng thời trên một máy chủ đang chạy, nó sẽ kết nối tất cả các kết nối và nó sẽ cho phép chúng tôi giao tiếp với bất kỳ số lượng kết nối trực tiếp nào tại bất kỳ thời điểm nào. Vì vậy, đây là tất cả các lợi ích của WebSockets này trong lập trình Web này

Dựa trên những lợi ích này, chúng tôi đã sử dụng PHP WebSockets như Ratchet để xây dựng Ứng dụng trò chuyện bằng PHP và Mysql. Trong bài đăng này, chúng tôi sẽ hướng dẫn bạn từng bước cách xây dựng Ứng dụng trò chuyện bằng PHP bằng WebSocket từ đầu. Trong hướng dẫn Phát triển web PHP này, bạn có thể tìm hiểu cách chúng tôi có thể nhanh chóng xây dựng Ứng dụng trò chuyện với RatChet bằng cách sử dụng tập lệnh PHP và Cơ sở dữ liệu Mysql

Cơ sở dữ liệu của ứng dụng trò chuyện


Trước khi học ứng dụng chat, đầu tiên bạn cần tạo bảng lưu trữ dữ liệu ứng dụng chat trong cơ sở dữ liệu Mysql. Vì vậy, trước tiên bạn cần tạo các bảng bằng cách chạy tập lệnh Sql sau, bạn có thể tạo các bảng ứng dụng trò chuyện trong cơ sở dữ liệu mysql của mình



Tải xuống mã nguồn



Cơ sở dữ liệu của ứng dụng trò chuyện


Trước khi học ứng dụng chat, đầu tiên bạn cần tạo bảng lưu trữ dữ liệu ứng dụng chat trong cơ sở dữ liệu Mysql. Vì vậy, trước tiên bạn cần tạo các bảng bằng cách chạy tập lệnh Sql sau, bạn có thể tạo các bảng ứng dụng trò chuyện trong cơ sở dữ liệu mysql của mình


--
-- Database: `chat`
--

-- --------------------------------------------------------

--
-- Table structure for table `chatrooms`
--

CREATE TABLE `chatrooms` [
  `id` int[11] NOT NULL,
  `userid` int[11] NOT NULL,
  `msg` varchar[200] NOT NULL,
  `created_on` datetime NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Table structure for table `chat_user_table`
--

CREATE TABLE `chat_user_table` [
  `user_id` int[11] NOT NULL,
  `user_name` varchar[250] NOT NULL,
  `user_email` varchar[250] NOT NULL,
  `user_password` varchar[100] NOT NULL,
  `user_profile` varchar[100] NOT NULL,
  `user_status` enum['Disabled','Enable'] NOT NULL,
  `user_created_on` datetime NOT NULL,
  `user_verification_code` varchar[100] NOT NULL,
  `user_login_status` enum['Logout','Login'] NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Indexes for dumped tables
--

--
-- Indexes for table `chatrooms`
--
ALTER TABLE `chatrooms`
  ADD PRIMARY KEY [`id`];

--
-- Indexes for table `chat_user_table`
--
ALTER TABLE `chat_user_table`
  ADD PRIMARY KEY [`user_id`];

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `chatrooms`
--
ALTER TABLE `chatrooms`
  MODIFY `id` int[11] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT for table `chat_user_table`
--
ALTER TABLE `chat_user_table`
  MODIFY `user_id` int[11] NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;


Mã nguồn của ứng dụng trò chuyện PHP


Dưới đây bạn có thể tìm thấy tệp mã nguồn ứng dụng trò chuyện PHP

cơ sở dữ liệu/Database_connection. php


Tệp này chúng tôi sẽ sử dụng để tạo kết nối cơ sở dữ liệu trong ứng dụng trò chuyện này





cơ sở dữ liệu/Người dùng trò chuyện. php


Người dùng trò chuyện này. tệp lớp php mà chúng tôi đã sử dụng để xử lý dữ liệu người dùng ở phía máy chủ. Trong tệp lớp này, chúng tôi đã tạo phương thức set và get cho dữ liệu người dùng và sau đó, chúng tôi có phương thức tạo để kiểm tra người dùng đã đăng ký hay chưa và cuối cùng chúng tôi đã thực hiện chèn dữ liệu người dùng vào bảng mysql







cơ sở dữ liệu/Phòng trò chuyện. php


Lớp này chúng tôi sẽ sử dụng cho hoạt động cơ sở dữ liệu của dữ liệu tin nhắn trò chuyện. Trong lớp này, chúng ta sẽ tạo hàm set và get cho quá trình thao tác liên quan đến cơ sở dữ liệu biểu mẫu dữ liệu trò chuyện. Bằng cách sử dụng lớp này, chúng tôi sẽ chèn hoặc lưu trữ tin nhắn trò chuyện trong cơ sở dữ liệu Mysql và tìm nạp dữ liệu trò chuyện từ cơ sở dữ liệu Mysql để hiển thị trên trang web





đăng ký. php


Tệp này chúng tôi đã sử dụng để đăng ký người dùng ứng dụng Trò chuyện. Người dùng có thể đăng ký từ trang web này









    
    
    
    

    Register | PHP Chat Application using Websocket

    
    

    

    

    
    
    

    
    

    




    


Chat Application in PHP & MySql using WebSocket - Email Verification

Register
Enter Your Name
Enter Your Email
Enter Your Password
$[document].ready[function[]{ $['#register_form'].parsley[]; }];

chỉ mục. php


Dưới tệp này, chúng tôi sẽ tạo trang đăng nhập cho ứng dụng trò chuyện này










    
    
    
    

    Login | PHP Chat Application using Websocket

    
    

    

    

    
    
    

    
    

    




    


Chat Application in PHP & MySql using WebSocket - Login

Login
Enter Your Email Address
Enter Your Password
$[document].ready[function[]{ $['#login_form'].parsley[]; }];

xác minh. php


Mã nguồn tệp này sẽ xác minh địa chỉ email của người dùng và nó sẽ cho phép tài khoản người dùng đăng nhập vào hệ thống trò chuyện









    
    
    
    

    Email Verify | PHP Chat Application using Websocket

    
    

    
    
    
    





    


PHP Chat Application using Websocket


phòng trò chuyện. php


phòng chat này. php sẽ chỉ được truy cập bởi người dùng đăng nhập, vì vậy khi người dùng đã đăng nhập vào ứng dụng trò chuyện này, thì hệ thống sẽ chuyển hướng trang đến phòng trò chuyện này. php và dưới tệp này, chúng tôi sẽ tạo phòng trò chuyện để mỗi người dùng có thể trò chuyện với nhau. Trong trang này, người dùng có thể xem ảnh hồ sơ của họ với liên kết chỉnh sửa hồ sơ và nút đăng xuất







	Chat application in php using web scocket programming
	
    

    

    

    
    
    

    
    

    
	
		html,
		body {
		  height: 100%;
		  width: 100%;
		  margin: 0;
		}
		#wrapper
		{
			display: flex;
		  	flex-flow: column;
		  	height: 100%;
		}
		#remaining
		{
			flex-grow : 1;
		}
		#messages {
			height: 200px;
			background: whitesmoke;
			overflow: auto;
		}
		#chat-room-frm {
			margin-top: 10px;
		}
		#user_list
		{
			height:450px;
			overflow-y: auto;
		}

		#messages_area
		{
			height: 650px;
			overflow-y: auto;
			background-color:#e6e6e6;
		}

	


	

PHP Chat Application using Websocket - Display User with Online or Offline Status


Chat Room

Edit
User List
$[document].ready[function[]{ var conn = new WebSocket['ws://localhost:8080']; conn.onopen = function[e] { console.log["Connection established!"]; }; conn.onmessage = function[e] { console.log[e.data]; var data = JSON.parse[e.data]; var row_class = ''; var background_class = ''; if[data.from == 'Me'] { row_class = 'row justify-content-start'; background_class = 'text-dark alert-light'; } else { row_class = 'row justify-content-end'; background_class = 'alert-success'; } var html_data = "
"+data.from+" - "+data.msg+"
"+data.dt+"
"; $['#messages_area'].append[html_data]; $["#chat_message"].val[""]; }; $['#chat_form'].parsley[]; $['#messages_area'].scrollTop[$['#messages_area'][0].scrollHeight]; $['#chat_form'].on['submit', function[event]{ event.preventDefault[]; if[$['#chat_form'].parsley[].isValid[]] { var user_id = $['#login_user_id'].val[]; var message = $['#chat_message'].val[]; var data = { userId : user_id, msg : message }; conn.send[JSON.stringify[data]]; $['#messages_area'].scrollTop[$['#messages_area'][0].scrollHeight]; } }]; $['#logout'].click[function[]{ user_id = $['#login_user_id'].val[]; $.ajax[{ url:"action.php", method:"POST", data:{user_id:user_id, action:'leave'}, success:function[data] { var response = JSON.parse[data]; if[response.status == 1] { conn.close[]; location = 'index.php'; } } }] }]; }];






hoạt động. php


Tệp này đã nhận được yêu cầu ajax để người dùng đăng xuất khỏi ứng dụng người dùng trò chuyện. Trong tệp này, đầu tiên chúng tôi xóa giá trị biến phiên và sau đó chúng tôi xóa tất cả biến phiên và cung cấp giá trị trạng thái cho yêu cầu ajax ở định dạng json

Chủ Đề