Jinsu Park

Update: socket io client 기본 동작. integrate해야할 사항 주석에 표기

...@@ -5,6 +5,31 @@ import PersonIcon from "@material-ui/icons/Person"; ...@@ -5,6 +5,31 @@ import PersonIcon from "@material-ui/icons/Person";
5 import PlayArrowIcon from '@material-ui/icons/PlayArrow'; 5 import PlayArrowIcon from '@material-ui/icons/PlayArrow';
6 import PauseIcon from '@material-ui/icons/Pause'; 6 import PauseIcon from '@material-ui/icons/Pause';
7 import { WatchOutlined } from "@material-ui/icons"; 7 import { WatchOutlined } from "@material-ui/icons";
8 +import io from 'socket.io-client'
9 +import tts from './tts';
10 +
11 +const socket = io.connect("http://localhost:3000")
12 +socket.on("connect", event=>{
13 + // 테스트용으로 umi0410에게 입장.
14 + // 다른 거 아무거나 채널이름을 넣으면 되겠지만, 그렇게 하고싶으면 백엔드에서 인자설정을 해줘야함.
15 + socket.emit("joinRoom", 'umi0410', '진수봇')
16 +})
17 +
18 +// 말해야할 메시지가 왔을 때. 이건 따로 Component와 묶지 않아도 알아서 실행됩니다.
19 +socket.on('chat message', (name, msg)=>{
20 + console.log(msg)
21 + tts.speak(msg)
22 +})
23 +
24 +// 해당 채널을 재생하고자할 때 실행시켜주세요.
25 +const listen = (channelName)=>{
26 + socket.emit("joinRoom", channelName, "dummy name") // name이 뭔지 대연이도 잘 모름.
27 +}
28 +
29 +// 해당 채널을 재생 안하도록 할 때 실행시켜주세요.
30 +const quit = (channelName)=>{
31 + socket.emit("leaveRoom". channelName, "dummy name") // name이 뭔지 대연이도 잘 모름.
32 +}
8 33
9 export function Channel(props) { 34 export function Channel(props) {
10 const channel = props.channel; 35 const channel = props.channel;
...@@ -34,6 +59,7 @@ export class ChannelList extends React.Component { ...@@ -34,6 +59,7 @@ export class ChannelList extends React.Component {
34 59
35 // data for test 60 // data for test
36 const test = [ 61 const test = [
62 + {"name": "umi0410 진수", "view": 123124124, "game": "game2" , "url": "https://www.twitch.tv/umi0410"},
37 {"name": "name1", "view": 999, "game": "game1" ,"url": "https://www.twitch.tv", "thumbnail": "https://upload.wikimedia.org/wikipedia/commons/2/26/Twitch_logo.svg"}, 63 {"name": "name1", "view": 999, "game": "game1" ,"url": "https://www.twitch.tv", "thumbnail": "https://upload.wikimedia.org/wikipedia/commons/2/26/Twitch_logo.svg"},
38 {"name": "name2", "view": 123124124, "game": "game2" , "url": "https://www.twitch.tv"}, 64 {"name": "name2", "view": 123124124, "game": "game2" , "url": "https://www.twitch.tv"},
39 {"name": "name1", "view": 999, "game": "game1" ,"url": "https://www.twitch.tv", "thumbnail": "https://upload.wikimedia.org/wikipedia/commons/2/26/Twitch_logo.svg"}, 65 {"name": "name1", "view": 999, "game": "game1" ,"url": "https://www.twitch.tv", "thumbnail": "https://upload.wikimedia.org/wikipedia/commons/2/26/Twitch_logo.svg"},
...@@ -44,6 +70,7 @@ export class ChannelList extends React.Component { ...@@ -44,6 +70,7 @@ export class ChannelList extends React.Component {
44 {"name": "name2", "view": 123124124, "game": "game2" , "url": "https://www.twitch.tv"}, 70 {"name": "name2", "view": 123124124, "game": "game2" , "url": "https://www.twitch.tv"},
45 {"name": "name1", "view": 999, "game": "game1" ,"url": "https://www.twitch.tv", "thumbnail": "https://upload.wikimedia.org/wikipedia/commons/2/26/Twitch_logo.svg"}, 71 {"name": "name1", "view": 999, "game": "game1" ,"url": "https://www.twitch.tv", "thumbnail": "https://upload.wikimedia.org/wikipedia/commons/2/26/Twitch_logo.svg"},
46 {"name": "name2", "view": 123124124, "game": "game2" , "url": "https://www.twitch.tv"}, 72 {"name": "name2", "view": 123124124, "game": "game2" , "url": "https://www.twitch.tv"},
73 +
47 ] 74 ]
48 75
49 this.state = { 76 this.state = {
......
File mode changed