GithubHelp home page GithubHelp logo

chatting-room's Introduction

Chatting-room

socket.io를 활용한 실시간 채팅방 구현 파일 전송 구현

deploy(미완)

npm install
npm start 

API

  • user info

method url function
POST /user 새 유저 회원가입
POST /login 기존 유저 로그인
  • room info

method url function
POST /room 새 채팅방 생성
GET /room:room-name 채팅방 입장
GET /new-room 새 채팅방 생성 페이지 입장
DELETE /room:room-name 채팅방 삭제 (만든 사람만 가능)
  • chat info

event param function
connection socket 유저 소켓 통신 연결
join-room data{roomId, userId} 새 유저 채팅방 입장
new data{msg} 채팅방에 유저 이름 세팅
send-msg roomId, name, msg 채팅 메시지 보내기
receive-msg text 채팅 메시지 받기
room-broadcast data{msg} 전체 안내 메시지 보내기
disconnect*

참고 블로그


socket.io stream 파일 전송

참고 블로그

WebRTC 파일 전송

WebRTC 공식 document : Data Channel

RTCPeerConnection 를 통한 임의의 데이터 전송을 위한 API 지원

RTCDataChannel 객체에서 RTCPeerConnection 객체 반환

const peerConnection = new RTCPeerConnection(configuration);
// createDataChannel()을 호출
const dataChannel = peerConnection.createDataChannel(); 

참고 블로그


추후 보충

MySql 정보 숨기기 참고

chatting-room's People

Contributors

koo-ys avatar

Watchers

James Cloos avatar  avatar

chatting-room's Issues

NOT FOUND "socket.io/socket.io.js"

image

server.js 상단 코드 바로가기

var express = require('express');
var app = express();
var bodyParser = require('body-parser'); 
var session = require('express-session');

var http = require('http');
var server = http.createServer(app);
var io = require('socket.io').listen(server);

. . . 

app.listen(3000, function(){
    console.log('server on');
});

콘솔로 체크했을때는 잘 찍히지만 클라이언트단에서 404 에러

var express = require('express');
var app = express();
var bodyParser = require('body-parser'); 
var session = require('express-session');

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

. . . 

http.listen(3000, function(){
    console.log('server on');
});

코드 수정 후 404 에러 없음
But, 이유 모르겠음 ..

DB connection issue

MySql Connection Fail

{  
  code: 'ER_NOT_SUPPORTED_AUTH_MODE',
  errno: 1251,
  sqlMessage: 'Client does not support authentication protocol requested by server; consider upgrading MySQL client',
  sqlState: '08004',
  fatal: true
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.