Membuat chat dengan Socket.io dan ExpressJS

Assalamu 'alaikum Permisi agan2 semuanya... pada kali ini saya sedang membuat aplikasi chat dengan NodeJs, ExpressJs dan Socket.io tapi saya sedang kena kendala seperti di bawah ini :

Masalahnya saya sudah panggil source socket io untuk client nya sama seperti di sekolahkoding...



<script src="/socket.io/socket.io.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
	var socket = io();

tapi kenapa kok di console masih mengeluarkan output io is not defined? mungkin agan2 bisa menjelaskan kepada saya tentang itu, karena saya sendiri masih newbie(Belajar) menggunakan socket.io hehe TrimaKasih

avatar MasIzzudin
@MasIzzudin

9 Kontribusi 3 Poin

Diperbarui 6 tahun yang lalu

7 Jawaban:

Itu file socket.io.js benar ga pathnya? Kalau filenya ga ada ya jelas ga jalan.

Coba src scriptnya pakai dari cdn https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.3/socket.io.js

avatar rachmatsasongko
@rachmatsasongko

410 Kontribusi 426 Poin

Dipost 6 tahun yang lalu

laa itu gan masalahnya... yang socket.io.js itu sudah ane search dan dapatnya itu di scoket.io-client/dist/socket.io.js tapi path nya udah ane sambungin ke situ juga masih tidak bisa

avatar MasIzzudin
@MasIzzudin

9 Kontribusi 3 Poin

Dipost 6 tahun yang lalu

mungkin typo scoket.io-client, mestinya socket.io-client. tapi kalau memang pathnya benar, di wrap dulu sama document ready atau self executing function

<script src="/socket.io-client/dist/socket.io.js"></script>
<script type="text/javascript">
(function() {
	var socket = io('server agan');
})();
</script>

avatar rachmatsasongko
@rachmatsasongko

410 Kontribusi 426 Poin

Dipost 6 tahun yang lalu

Full Scriptnya Please :)

avatar CodenameJR
@CodenameJR

278 Kontribusi 107 Poin

Dipost 6 tahun yang lalu

Ini Server.js



var express = require('express')
var app = express()
var http = require('http').Server(app)
var io = require('socket.io')(http)

app.use(express.static('public'));

app.get('/', function(req, res){
	res.sendFile(__dirname + '/chat.html')
})

io.on('connection', function(socket){
	//if there is a new massage
	socket.on('newMassage', function(msg){
		io.emit('newMassage', msg)
		console.log('Ada Pesan' + msg)
	})

	//if a User Disconnected
	socket.on('disconnect', function(msg){
		console.log('user telah disconnect')
	})
})

app.listen(8000, function(){
	console.log('Coba localhost 8000')
})


Ini script dalam HTML nya



<script src="/socket.io-client/dist/socket.io.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
	var socket = io();

	$('form').submit(function(){
		socket.emit('newMassage', $('#username').val());
		$('#username').val("");
		return false;
	});

	//Menampilkan ke FrontEnd

	socket.on('newMassage', function(msg){
		$('#massages').append($('<li>').text(msg));
	});
</script>

avatar MasIzzudin
@MasIzzudin

9 Kontribusi 3 Poin

Dipost 6 tahun yang lalu

koneknya mesti sama dengan port socket server gan

// server
app.listen(8000, function(){
	console.log('Coba localhost 8000')
})

// client
var socket = io('http://localhost:8000')

avatar rachmatsasongko
@rachmatsasongko

410 Kontribusi 426 Poin

Dipost 6 tahun yang lalu

Servernya Beda Port Sama Client Sepertinya

avatar CodenameJR
@CodenameJR

278 Kontribusi 107 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban