웹 소켓 초기 인식 및 사용
8639 단어 전단
처음에는 간단 한 온라인 채 팅 방 을 실현 하려 고 했 는데 기본 적 인 기능 은 단체 채 팅 과 단체 채 팅 을 실현 할 수 있다 는 것 이 었 다. 자 료 를 찾 아 보 니 폴 링, 웹 소켓, Ajax 가 통신 을 실현 할 수 있 었 다.
webSocket 소개
웹 소켓 은 클 라 이언 트 와 서버 의 실시 간 통신 을 해결 하기 위 한 기술 이다.본질 적 으로 HTTP/HTTPS 프로 토 콜 을 통 해 악 수 를 한 후 데 이 터 를 교환 하 는 TCP 연결 을 만 든 다음 에 서버 와 클 라 이언 트 가 이 TCP 연결 을 통 해 실시 간 으로 통신 하 는 것 이다.실제 방법 은 우리 가 클 라 이언 트 와 서버 의 기능 을 각각 실현 할 수 있다 는 것 이다.클 라 이언 트 는 정 보 를 발표 하고 대화 정 보 를 표시 합 니 다.서버 는 메 시 지 를 받 아들 이 고 받 은 메 시 지 를 클 라 이언 트 에 보 내 는 것 입 니 다.전문 적 인 말: 1. 클 라 이언 트 브 라 우 저 를 사용 하여 웹 소켓 프로 토 콜 을 실현 합 니 다.2. 웹 페이지 에 코드 를 작성 하여 클 라 이언 트 Websocket 을 만 듭 니 다.3. 웹 서버 에 코드 를 작성 하여 웹 소켓 을 통 해 클 라 이언 트 요청 에 응답 합 니 다.
기본 사용 방법
클 라 이언 트 작성
클 라 이언 트 가 웹 소켓 URI 를 통 해 웹 소켓 연결 을 시작 합 니 다. 웹 소켓 URI 모드 는 다음 과 같이 정의 합 니 다. 뉴스:/뉴스:/ws 는 일반적인 웹 소켓 통신 프로 토 콜 이 고 뉴스 는 안전 한 웹 소켓 통신 프로 토 콜 입 니 다 (HTTP 와 HTTPS 간 의 차이 와 같 습 니 다).부족 한 상황 에서 ws 의 포트 는 80 이 고 ws 의 포트 는 443 이다.
클 라 이언 트 는 다음 작업 을 수행 해 야 합 니 다. 1. 웹 소켓 을 초기 화하 고 서버 에 연결 해 야 합 니 다.2. 성공 여 부 를 확인 하기 위해 테스트 합 니 다.3. 데 이 터 를 보 내 고 받는다.
코드 는 다음 과 같 습 니 다:
<html>
<head>
<title>Testing websocketstitle>
head>
<body>
<div>
<input type="submit" value="Start" onclick="start()" />
div>
<div id="messages">div>
<script type="text/javascript">
var webSocket =
new WebSocket('ws://localhost:8080/byteslounge/websocket');
webSocket.onerror = function(event) {
onError(event)
};
webSocket.onopen = function(event) {
onOpen(event)
};
webSocket.onmessage = function(event) {
onMessage(event)
};
function onMessage(event) {
document.getElementById('messages').innerHTML
+= '
' + event.data;
}
function onOpen(event) {
document.getElementById('messages').innerHTML
= 'Connection established';
}
function onError(event) {
alert(event.data);
}
function start() {
webSocket.send('hello');
return false;
}
script>
body>
html>
서버 작성
코드 는 다음 과 같 습 니 다:
package com.byteslounge.websockets;
import java.io.IOException;
import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
@ServerEndpoint("/websocket")
public class WebSocketTest {
@OnMessage
public void onMessage(String message, Session session)
throws IOException, InterruptedException {
// Print the client message for testing purposes
System.out.println("Received: " + message);
// Send the first message to the client
session.getBasicRemote().sendText("This is the first server message");
// Send 3 messages to the client every 5 seconds
int sentMessages = 0;
while(sentMessages < 3){
Thread.sleep(5000);
session.getBasicRemote().
sendText("This is an intermediate server message. Count: "
+ sentMessages);
sentMessages++;
}
// Send a final message to the client
session.getBasicRemote().sendText("This is the last server message");
}
@OnOpen
public void onOpen() {
System.out.println("Client connected");
}
@OnClose
public void onClose() {
System.out.println("Connection closed");
}
}
방법 과 속성
명칭.
유형
묘사 하 다.
WebSocket
대상
원 격 호스트 에 제공 되 는 양 방향 채널 입 니 다.
close
방법.
웹 소켓 을 닫 습 니 다.
send
방법.
웹 소켓 으로 서버 에 데 이 터 를 보 냅 니 다.
binaryType
속성
onmessage 에서 받 은 바 이 너 리 데이터 형식 입 니 다.
bufferedAmount
속성
send 의 줄 을 서 있 는 데이터 바이트 수 를 사용 합 니 다.
extensions
속성
서버 에서 선택 한 확장 자 를 보고 합 니 다.
onclose
속성
소켓 이 닫 혔 을 때 호출 되 는 이벤트 처리 프로그램 입 니 다.
onerror
속성
오류 가 발생 했 을 때 호출 된 이벤트 처리 프로그램 입 니 다.
onmessage
속성
메 시 지 를 받 은 이벤트 처리 프로그램 을 알 립 니 다.
onopen
속성
웹 소켓 이 연결 되 었 을 때 호출 되 는 이벤트 처리 프로그램 입 니 다.
protocol
속성
서버 에서 선택 한 프로 토 콜 을 보고 합 니 다.
readyState
속성
웹 소켓 연결 상 태 를 보고 합 니 다.
url
속성
보고서 소켓 의 현재 URL 입 니 다.
자세 한 내용 은 아래 블 로 그 를 참고 하 시기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
전단 자동화 워 크 플 로 의 hooks예 를 들 어 우 리 는 git commt 전에 eslint 코드 검사, npm install 전에 프로젝트 의존 도 를 검사 하고 싶 습 니 다.전형 적 인 상황 에서 각종 도 구 는 특정한 동작 이 발생 할 때 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.