Swift에서 Socket.io를 이용해서 채팅을 개발하고 있는데
한국어로 된 자료가 너무 없기도하고 (안드도..) 있더라도 필요한 내용이 없어서 이 포스트도 부족하지만
누군가에게는 함께 보면 좋을거라고 생각해서 나도 정리해본다!!!
먼저 구글에 검색했을 때 나오는 좋은 포스트들의 자료들을 함께 봐주면 된다.
먼저 서버 구현 먼저 하도록 하겠다.
이게 내가 앱개발자라 그런지 몰라도 서버에서 작업해줘야하는걸 몰라서 왜 안되나 삽질을 많이 했다.
노드를 먼저 설치해준다.!
https://nodejs.org/ko/download/
설치 후에 터미널을 열어서 아래와 같이 express를 설치해준다.
여기보다 다른 블로그에서 잘 정리해뒀다!
노드를 설치하면 npm도 함께 설치됌!
깔린지 확인해보려면
npm -v
입력하면 버전이 나타남!
npm install -g express-generator
express를 설치하고
서버 폴더를 하나 생성한 뒤 터미널에서
express <프로젝트이름>
입력해주면 서버에 필요한 파일들이 생긴다.
우리는 여기서 app.js 라는 파일을 이용할 것이다.
다른 포스팅에는 bin/www 에 작업하는 경우도있고 index.js 여기에 하는 것도 있는데
필자는 나중에 node app.js 라는 명령어를 입력할거라 이것만.. 사용할거임
쭉쭉 명령어 입력해주세요
npm install
npm install --save --save-exact socket.io express
npm update
이렇게하고 app.js 를 vscode나 sublimeText 같은 툴 이용해서 편집해주자. vi, nano 이용해도 될 것 같음!
var app = require('express')();
var server = require('http').createServer(app);
// http server를 socket.io server로 upgrade한다
var io = require('socket.io')(server);
// namespace /chat에 접속한다.
var chat = io.of('/test').on('connection', function(socket) {
socket.on("test", (msg) => {
chat.emit("test", {
"type": 1,
"message": msg
})
});
});
server.listen(9000, function() {
console.log('Socket IO server listening on port 3000');
});
위 코드는 임시입니다. 내일 업데이트 할 예정
이렇게 작성해서 저장해주고 터미널에서
node app.js
입력해주면 서버 작업은 끝!!!
만약에 실행하고 다시 실행했는데 이미 포트 사용 중이라고하면
ps -rf
입력 후 살아있는 node를
kill -9 puid(번호) 입력해주면 된다!
프론트단 구현은 다른 포스팅과 매우 비슷하다!
'개발 > 개발' 카테고리의 다른 글
[iOS] - RxDataSource로 테이블뷰 헤더 푸터 그리기 (MVVM) (0) | 2022.04.04 |
---|---|
[iOS] - TableView Cell 갯수에 따른 유동적 높이 조절 (0) | 2022.03.29 |
x84_64, arm64 오류 해결 SPM과 코코아팟 함께 쓸 때 (0) | 2022.03.07 |
[iOS] - iOS 앱에서 HTTP 통신 하기 (0) | 2022.02.12 |
[개발] - PNG 와 JPG의 특징 (0) | 2022.02.08 |