Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test #34

Open
wants to merge 23 commits into
base: master
Choose a base branch
from
Open

test #34

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
b808404
chore(*): use latest versions of Socket.io and Express.js packages
darrachequesne Mar 8, 2017
339d2b1
fix(*): load jQuery over https
darrachequesne Mar 8, 2017
79afe73
fix(*): run the js once the dom is loaded
darrachequesne Mar 8, 2017
deb6682
feat(*): auto scroll to the bottom of the page
darrachequesne Mar 8, 2017
0400505
feat(*): make the example compatible with Heroku
darrachequesne Mar 8, 2017
e2530b2
docs(*): add link to https://socketio-chat-example.now.sh/
darrachequesne Mar 8, 2017
c16c985
chore: update to Socket.IO v3 (#51)
Drulac Nov 19, 2020
abd1b44
refactor: remove jquery (#48)
RobertDS07 Aug 25, 2020
61b1eb7
style: improve CSS (#34)
mauriciabad Oct 30, 2019
4760fa3
refactor: minor edit (#7)
ghandhikus Aug 10, 2017
8b4ad53
chore: add run on repl.it badge to README (#45)
cjeccles Jan 6, 2021
68fd421
chore: add license
darrachequesne Jan 6, 2021
3d74a3c
refactor: use ES6 syntax for the server code
darrachequesne Jan 6, 2021
62587ae
fix: prevent empty message
darrachequesne Jan 6, 2021
af861f5
docs: remove the link to now/vercel
darrachequesne Jan 6, 2021
03ae532
chore: add package-lock.json file
darrachequesne Jan 6, 2021
d18749e
chore: fix the repl.it run cmd (#56)
dhruv-programmes May 5, 2021
3c7903c
chore: update to Socket.IO v4
darrachequesne Jun 28, 2021
51f77ea
feat: improve visualization in narrow screen devices (#53)
JoseGoncalves Sep 7, 2023
fe6fdfd
feat: bind http server to localhost (#54)
JoseGoncalves Sep 7, 2023
30979ca
refactor: use ES6 syntax for the client side code (#72)
sanskrati-1234 Mar 31, 2022
4a03233
chore: bump dependencies (#75)
deividgp Jun 22, 2022
0ee7376
refactor: properly compute the path of the index.html file (#80)
Mayor-Rhymes Jan 25, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .replit
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
language = "nodejs"
run = "node index.js"
22 changes: 22 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
The MIT License (MIT)

Copyright (c) 2014-2021 Guillermo Rauch


Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
12 changes: 10 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
# chat-example

This is the source code for a very simple chat example used for
the [Getting Started](http://socket.io/get-started/chat/) guide
This is the source code for a very simple chat example used for
the [Getting Started](http://socket.io/get-started/chat/) guide
of the Socket.IO website.

Please refer to it to learn how to run this application.

You can also spin up a free Heroku dyno to test it out:

[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy?template=https://github.com/socketio/chat-example)

Or run it on [Repl.it](https://repl.it/):

[![Run on Repl.it](https://repl.it/badge/github/socketio/chat-example)](https://repl.it/github/socketio/chat-example)
22 changes: 22 additions & 0 deletions app.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"name": "Socket-Chat-Example",
"description": "my first socket.io app",
"website": "https://github.com/socketio/chat-example",
"repository": "https://github.com/socketio/chat-example",
"logo": "https://node-js-sample.herokuapp.com/node.svg",
"success_url": "/",
"keywords": [
"node",
"express",
"socket.io",
"realtime",
"websocket"
],
"scripts": {
},
"addons": [
],
"env": {
"BUILDPACK_URL": "https://github.com/heroku/heroku-buildpack-nodejs"
}
}
52 changes: 33 additions & 19 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,34 +1,48 @@
<!doctype html>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Socket.IO chat</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font: 13px Helvetica, Arial; }
form { background: #000; padding: 3px; position: fixed; bottom: 0; width: 100%; }
form input { border: 0; padding: 10px; width: 90%; margin-right: .5%; }
form button { width: 9%; background: rgb(130, 224, 255); border: none; padding: 10px; }
body { margin: 0; padding-bottom: 3rem; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }

#form { background: rgba(0, 0, 0, 0.15); padding: 0.25rem; position: fixed; bottom: 0; left: 0; right: 0; display: flex; height: 3rem; box-sizing: border-box; backdrop-filter: blur(10px); }
#input { border: none; padding: 0 1rem; flex-grow: 1; border-radius: 2rem; margin: 0.25rem; }
#input:focus { outline: none; }
#form > button { background: #333; border: none; padding: 0 1rem; margin: 0.25rem; border-radius: 3px; outline: none; color: #fff; }

#messages { list-style-type: none; margin: 0; padding: 0; }
#messages li { padding: 5px 10px; }
#messages li:nth-child(odd) { background: #eee; }
#messages > li { padding: 0.5rem 1rem; }
#messages > li:nth-child(odd) { background: #efefef; }
</style>
</head>
<body>
<ul id="messages"></ul>
<form action="">
<input id="m" autocomplete="off" /><button>Send</button>
<form id="form" action="">
<input id="input" autocomplete="off" /><button>Send</button>
</form>
<script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script src="/socket.io/socket.io.js"></script>

<script>
var socket = io();
$('form').submit(function(){
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
const socket = io();

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

хуй

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Пошел нахуй

const messages = document.getElementById('messages');
const form = document.getElementById('form');
const input = document.getElementById('input');

form.addEventListener('submit', (e) => {
e.preventDefault();
if (input.value) {
socket.emit('chat message', input.value);
input.value = '';
}
});
socket.on('chat message', function(msg){
$('#messages').append($('<li>').text(msg));

socket.on('chat message', (msg) => {
const item = document.createElement('li');
item.textContent = msg;
messages.appendChild(item);
window.scrollTo(0, document.body.scrollHeight);
});
</script>
</body>
Expand Down
21 changes: 12 additions & 9 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
const app = require('express')();
const http = require('http').Server(app);
const io = require('socket.io')(http);
const host = process.env.HOST || 'localhost';
const port = process.env.PORT || 3000;
const path = require('path')

app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
app.get('/', (req, res) => {
res.sendFile(path.join(__dirname, 'index.html'));
});

io.on('connection', function(socket){
socket.on('chat message', function(msg){
io.on('connection', (socket) => {
socket.on('chat message', msg => {
io.emit('chat message', msg);
});
});

http.listen(3000, function(){
console.log('listening on *:3000');
http.listen(port, host, () => {
console.log(`Socket.IO server running at http://${host}:${port}/`);
});
Loading