TCP
TCP 프로토콜은 연결 지향적이며 높은 신뢰성을 보장합니다 (손실이없는 데이터, 장애가없는 데이터, 오류없는 데이터 및 중복없는 데이터).
TCP는 세 가지 악수를 통해 연결을 설정합니다. 통신이 완료되면 연결을 제거해야합니다. TCP는 연결에 연결되어 있으므로 엔드 투 엔드 커뮤니케이션에만 사용할 수 있습니다.
이 기사는 주로 TCP를 사용하여 간단한 채팅을 구현하는 Java의 관련 내용을 소개합니다. 참조와 학습을 위해 공유됩니다. 나는 아래에서 많이 말하지 않을 것입니다. 자세한 소개를 함께 살펴 보겠습니다.
샘플 코드
TCP 프로토콜을 사용하여 구현 된 간단한 채팅 기능 (매우 간단함)
생각 : 2 개의 스레드를 사용하고 하나의 스레드는 메시지를받는 데 사용되며 다른 스레드는 메시지를 보내는 데 사용됩니다.
클라이언트 데모 코드 :
공개 클래스 senddemo {public static void main (String [] args)은 예외 {소켓 소켓 = 새로운 소켓 (inetAddress.getLocalHost (), 8888); sendimpl sendimpl = new sendimpl (소켓); // 스레드를 보내기 새 스레드 (sendImpl) .start (); // 스레드 수신 reciveimpl reciveimpl = new reciveimpl (소켓); 새 스레드 (reciveimpl) .start (); }}서버 측 데모 코드 :
public class serverdemo {public static void main (string [] args)은 예외 {serversocket serversocket = new serversocket (8888); Socket Socket = serversocket.accept (); sendimpl sendimpl = new sendimpl (소켓); 새 스레드 (sendimpl) .start (); reciveimpl reciveimpl = new reciveimpl (소켓); 새 스레드 (reciveimpl) .start (); }}스레드 보내기를위한 데모 코드 :
공개 클래스 SendImpl은 런닝 가능한 {개인 소켓 소켓; public sendimpl (소켓 소켓) {this.socket = 소켓; // todo 자동 생성 생성자 스텁} @override public void run () {스캐너 스캐너 = 새 스캐너 (System.in); while (true) {try {outputStream outputStream = socket.getOutputStream (); 문자열 string = scanner.nextline (); outputStream.write (String.getBytes ()); } catch (ioexception e) {// todo 자동 생성 캐치 블록 e.printstacktrace (); }}}}스레드 수신을위한 데모 코드 :
공개 클래스 ReciveImpl은 런닝 가능한 {개인 소켓 소켓; public reciveimpl (소켓 소켓) {this.socket = 소켓; // todo 자동 생성 생성자 스텁} @Override public void run () {while (true) {try {inputStream inputStream = socket.getInputStream (); 바이트 [] B = 새로운 바이트 [1024]; int len = inputStream.Read (b); System.out.println ( "메시지 수신 :"+new String (b, 0, len)); } catch (ioexception e) {// todo 자동 생성 캐치 블록 e.printstacktrace (); }}}}요약
위는이 기사의 전체 내용입니다. 이 기사의 내용에 모든 사람의 연구 나 작업에 대한 특정 참조 가치가 있기를 바랍니다. 궁금한 점이 있으면 의사 소통을 위해 메시지를 남길 수 있습니다. Wulin.com을 지원 해주셔서 감사합니다.