클라이언트와 서버에 대한 이해
1890 단어 서버
서버: 하나의 매개체일 뿐, 모든 클라이언트를 연결시키고, 메시지를 전달하는 역할만 한다
클라이언트: 즉, 사용자 측, 서버를 통해 다른 사용자와 채팅을 실현하는 등
간단한 서버 및 클라이언트 일대일
다중 채팅방에서 동시에 다중 클라이언트 시작
주의해야 할 점은 서버와 클라이언트가 연결되면 둘 다 평등하다는 것이다. 즉, 읽기와 쓰기의 메시지 흐름은 모두 같다는 것이다.
예를 들어 갑을병정 4명이 서버 을병정 3명이 클라이언트(즉 사용자)라고 가정하면
만약 을병정 세 사람이 서로 연락하고 싶다면 이렇게 할 수 있다.
우선 을병정은 먼저 갑즉갑 서버 측에 연락하여 연결 대상을 만들면 포트를 열고 을병정의 연결을 감청하기 위해 순환하여 을병정 클라이언트 기기 측에 들어가서 연결 포트를 만듭니다.
서버 갑과 클라이언트 에틸렌은 각각 포트를 통해 입력과 출력 흐름을 얻는다. 이렇게 하면 에틸렌과 갑 사이에 서로 통신하는 파이프가 있는 것 같다
만약에 을병정 간에 서로 통신을 하려면 이렇게 할 수 있다. 즉, 클라이언트 측은sendMsg(String msg)(메시지를 보내는 방법)만 있으면 Ok가 된다. 예를 들어 을은 하고 싶은 말을 포트의 출력 흐름을 통해 서버 갑에게 전송한다.주의: 갑은 readString()(메시지를 읽는 방법)sendMsg(메시지를 쓰는 방법)갑이 을을 통해 보낸 메시지를 읽고 병과 정병과 정에게 보내는 것도 이와 같다.
모든 클라이언트는 쓴 메시지를 먼저 서버에 보내고 서버는 메시지를 읽으며 읽은 모든 메시지를 모든 고객에게 보내고 고객들은 모든 메시지를 텍스트 영역 JtextArea에 추가합니다
서버의 기능은 클라이언트가 보낸 메시지, 즉 클라이언트가 쓴 메시지를 서버에 보내는 것이다. 서버는 클라이언트에서 쓴 메시지를 읽어서 모든 사용자에게 보내는 것이다
기본 프레임워크는 링크 단추가 있고send 단추 메시지 입력 상자가 있습니다. JtextField에서 메시지를 받는 텍스트 영역 JtextArea입니다.
link 단추를 눌렀을 때 클라이언트와 서버 연결을 실현합니다.send 단추를 눌렀을 때 메시지 입력 상자 JtextField의 내용을 메시지를 받는 텍스트 영역 JtextArea에 표시할 수 있습니다
주의: 읽는 방법이 막힐 수 있으므로 한 라인에 놓아야 합니다. 클라이언트 쪽에서 읽지 않으려면
서버측: ChatServer 클래스public class ChatServer {
public static void main(String args[]){
}
}
// : ,
//
public void upServer(int port){
ServerSocket ss=new ServerSocket(port);
while(true){
// :
Socket client=ss.accept();
//
OutputStream ous=client.getOutputStream();
InputStream ins=client.getInputStream();
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
집 서버 설계 (하드웨어 편)자신의 Redmine이나 ownCloud를 운용하기 위해 사쿠라 VPS, DigitalOcean, OpenShift 등을 놀랐습니다만, 침착 해 왔으므로 현상을 정리하고 싶습니다. 먼저 하드웨어 구성을 정리합니다. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.