HTML5 + 웹 소켓 구현 웹 채팅 (수 그룹 채팅)

말도 주부 (서둘러 주니어 파트너 직접 Ctrl 키 + f를 "텍스트"를 시작 읽기)

최근이 회사의 사업은 온라인 채팅 기능을 필요 사장이 말했다 "큰 사용자가 필요로이 지금 어려운해서는 안, 우리의 15 라인에 그것에 번호 (나중에 주)"나는. . . 심리적 공황의 숫자지만, 처음으로 사장이 직접 작업 할 수 있지만, 좋은 인상 NA를 떠나 EQ 농업의 적절한 코드가 아닌가합니다. 즉시 결과를 통해 EQ 풀은, IQ는 응답 쉽게, "좋은"단어를 사라,하지만, 내가 강제 된 zezheng는 무지보고

 

개발

플래시백에서, 다음의 결과를 참조, 어떤없이 일정 기능의 마지막 라인, 버그 , 상사도 칭찬을받은 축하합니다. 이 서비스는 타사 제품에 특히 감사했다 - GoEasy은 , 단순히 밤에 내가 저장됩니다 Niubi을 불어 같은 느낌, 치료.

케케는 집 가까이, 내 생각은이 문제를 해결하기 위해 당신을 말할 수 있습니다.

검색 키워드의 많은 수의

IM , 내가 먼저 주요 플랜트 솔루션의 모습이 완료,하지만 난 힘의 무지였다 문서에서의 모습, 단어의 생각 API가 밖으로 포장, 전체 사회 프로그램을하고있다, 너무 풍부 SDK를 또한 도둑 큰, 큰 일이 먼저 다 구덩이를 수행하고, 두 번째 볼륨은 최적화 할 수있는 방법을 찾기 위해 설정해야 할 나쁜 사용자 경험, 그래서 포기,로드 너무 느립니다.

웹 소켓 채팅 및 메시지 푸시 보웬에 단어의 일부에서 찾고있다, 정말 가장, 내가 그것을 따르 나타났다 IM , 기본이되는 구현의 기본 의미는, 구현이 복잡하지 않아야 매우 가벼운 것입니다. 사실 나는 빛의 오른쪽 절반은 내가 생각의 기능을 사용자 정의하는 방법에 대한 기사의 큰 숫자가 매우 분명하다, 정말 가볍고,하지만 난 또 다른 문제 성능 및 최적화에 달렸다 것을 증명했다. 대부분의 몇 가지 기능을 달성했다, 그러나에 안정성에서처럼 보이지만 때문에 라이브 환경 요구에 훨씬 더 있습니다. 우리는 작은 회사지만, 온라인 사용자의 피크 있지만 여전히이 400 상대적으로 높은, 동시에 우리의 뉴스 및 적시성 요구 사항을 더 +의 노화를, 나는이 최적화 연구 문질러 생각 하나 나올 수없는 모르는 달. 

자바를 웹 소켓 , 그리고 내가 자신의 특정 프로그래밍 언어, 큰 바로 아래에 집중하기 시작 자바 재능, 저를 저장하는 큰 형님이있을 것이다. 나는 점점 더 많은 신경을 얻고 있었다, 일부 데모 내가 좋아 실행은 테스트합니다. . . 질문이 많다. 강제로, 나는 타사 서비스 용 제품을 시작하고, 거대한 광고가 보는이 시간이 무시되고, 롤오버 GoEasy에게 "간단 매우 간단한 자기 소개를 웹 소켓 "나는에 대한 의존을 찾고있다 아.

1 시간 얻기 위해 데모 (텍스트 시작)

나는 큰 첫 번째 집, 컨텐츠와 레이아웃이 심플한 스타일로 간주됩니다에서 보았다 차지한다. 시간은 아무도, 나는 전체를 시작하는 "빠른 시작"을 가리키는 것이다 기다립니다. 공식 말한다 (9) 분 내 도착하는 7 분을 통해 실행합니다.

정말 TMD 내가 전면이 앞으로 조금 넣어 준비 말했다과 흥분, 간단한 아 데모 테스트 결과는 내가 빠는 오전, 주위를 둘러 보면 10 사무실에서 여전히 다이애나을. 음, 작은 쓰기 HTML은 자신의 직접적인 일에 종사. 바이두의 버스트 후, 헤이는 있지만 UI 추한, JS "멀티 플레이어 온라인 그룹 채팅 기능이 달성 된 달성하기 위해!"표준화 있지만, 여기에 스크린 샷과 코드를 보면 모든 사람을위한 코드는 순수 HTML ", 50 개 일반 라인 HTML "아이의 빛을 달성, 당신이 알고 GoEasy에게 에서 WebSocket 얼마나 좋은 패키지.

<html>
<head>
<title>GoEasy Test</title>
<script type="text/javascript" src="https://cdn-hangzhou.goeasy.io/goeasy.js"></script>
  <script type="text/javascript">
	var textarea_value = document.getElementById("textarea");
    if(typeof GoEasy !== 'undefined'){
        var goEasy = new GoEasy({
            appkey: '**********'                
        });
    }    

    //页面一加载就订阅
     goEasy.subscribe({
        channel: 'demo_channel',
        onMessage: function(message){
			if(!textarea_value) {
				textarea_value = "";
			}
			textarea_value = textarea_value + message.content + "\n";
            //console.log('Meessage received:'+message.content);
			//alert('收到:'+message.content);
			document.getElementById("textarea").value = textarea_value;
			
        }
    });

  //推送消息
    function publishMessage(){
        goEasy.publish({
            channel: 'demo_channel',
            message: document.getElementById("message").value
        });
    }          

   //取消订阅的页面不会再收到信息
    function unsubscribe(){
            goEasy.unsubscribe({
                channel:"demo_channel"
            });
    }        
  </script>
</head>
<body>
	<textarea id="textarea" rows="20" cols ="50">
	</textarea>
	<br/>
	<input type="text" id="message" />
    <input type="button" value="推送消息" onclick="publishMessage()"/>
    <input type="button" value="取消订阅" onclick="unsubscribe()"/>
</body>
</html>

事后总结

互联网发展到现在已经是相当成熟了,造轮子真是非常吃力不讨好的事了,至少对于我这些种初级的码农来说。平时都是写业务,但为了更好的解决问题,学会使用第三方服务,也是一种新的必要能力了,能解决问题才有核心竞争力,对前辈们做出的产品深度体验后,通过api也会了解他们的coding设计理念,api的精妙设置背后肯定是他们架构经验的体现。

最后帮GoEasy打个广告,除了产品好用,他们现在的技术支持也超级给力,那天晚上11点还给说了实现功能的思路,瞬间把我点透。

来咯,GoEasy 更简单的WebSocket,让我们专注codingWebSocket就交给他们解决吧。加油!

추천

출처www.cnblogs.com/maolan/p/11112343.html