socket kurup bir chat uygulaması yapmaya çalışıyordum. daha önceden pusher 'in sunduğu ücretsiz versiyonu kullanmıştım ama bu projede ücretsiz limitlerin bana yeterli olmayacağını düşünüyorum.
https://siteadi.com/test.html linkine giriş sağlayabiliyorum. bir kaç mesaj attıktan sonra mesaj gitmemeye ve gelmemeye başlıyor sayfayı yeniliyorum ve CloudFlare 'den sunucu ile bağlantı kesildi hatası alıyorum ama sunucu ayakta. bi dakika sonra düzeliyor bir türlü problemi anlamadım bilgisi olan var mı?
app.js
const express = require('express');
const http = require('http');
const socketIo = require('socket.io');
const app = express();
const server = http.createServer(app);
const io = socketIo(server);
// Statik dosyaları sunmak için 'public' klasörünü kullanabiliriz
app.use(express.static('public'));
// Root route tanımı (Ana sayfa)
app.get('/', (req, res) => {
try {
res.sendFile(__dirname + '/index.html'); // index.html dosyasını döndür
} catch (error) {
console.error('Ana sayfa yüklenirken bir hata oluştu:', error);
}
});
// Socket.IO bağlantısı
io.on('connection', (socket) => {
console.log('Yeni bir kullanıcı bağlandı');
// Mesaj alındığında
socket.on('chat message', (msg) => {
try {
console.log('Mesaj:', msg);
io.emit('chat message', msg); // Mesajı tüm kullanıcılara gönder
} catch (error) {
console.error('Mesaj gönderilirken bir hata oluştu:', error);
}
});
// Bağlantı kesildiğinde
socket.on('disconnect', () => {
console.log('Kullanıcı bağlantıyı kesti');
});
});
// Uygulamayı dinlemeye başla
server.listen(3000, () => {
try {
console.log('Sunucu 3000 portunda çalışıyor');
} catch (error) {
console.error('Sunucu başlatılırken bir hata oluştu:', error);
}
});<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Socket.IO Chat</title>
<!-- Socket.IO istemcisi -->
<script src="https://cdn.socket.io/4.5.1/socket.io.min.js"></script> <!-- Socket.IO CDN versiyonu -->
<script>
// Eğer SSL kullanıyorsanız (wss://), doğru URL ile bağlantı kurun.
const socket = io('https://socket.hiph.app'); // 'https://site.com' kendi sunucunuzun URL'si olmalı
// Mesaj gönderme
function sendMessage() {
const msg = document.getElementById('message').value;
socket.emit('chat message', msg);
document.getElementById('message').value = ''; // Mesaj kutusunu temizle
}
// Mesaj alındığında
socket.on('chat message', (msg) => {
console.log('Gelen mesaj:', msg); // Gelen mesajı konsola yazdır
const item = document.createElement('li');
item.textContent = msg;
document.getElementById('messages').appendChild(item);
});
</script>
</head>
<body>
<h1>Socket.IO Chat</h1>
<ul id="messages"></ul>
<input id="message" type="text" placeholder="Mesajınızı yazın">
<button onclick="sendMessage()">Gönder</button>
</body>
</html>
