KR20120129564A - Method, client device, chatting server and recording medium for providing client-based chatting service - Google Patents
Method, client device, chatting server and recording medium for providing client-based chatting service Download PDFInfo
- Publication number
- KR20120129564A KR20120129564A KR1020110047903A KR20110047903A KR20120129564A KR 20120129564 A KR20120129564 A KR 20120129564A KR 1020110047903 A KR1020110047903 A KR 1020110047903A KR 20110047903 A KR20110047903 A KR 20110047903A KR 20120129564 A KR20120129564 A KR 20120129564A
- Authority
- KR
- South Korea
- Prior art keywords
- message
- chat
- package data
- client
- client device
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/18—Service support devices; Network management devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/58—Message adaptation for wireless communication
Abstract
Description
본 발명은 채팅 서비스 기술에 관한 것으로서, 특히, 모바일 환경에 적합한 채팅 서비스 기술에 관한 것이다. The present invention relates to chat service technology, and more particularly, to a chat service technology suitable for a mobile environment.
종래의 채팅 서비스에서는, 채팅 서버가 사용자 컴퓨터 접속 관리, 이용자 관리, 채팅방 관리, 메시지 관리, 각종 제어 기능 등과 같은 많은 기능들을 수행한다. 이러한 의미에서 종래의 채팅 서비스는 서버 기반의 채팅 서비스이다. In a conventional chat service, a chat server performs many functions such as user computer connection management, user management, chat room management, message management, various control functions, and the like. In this sense, the conventional chat service is a server-based chat service.
또한 종래의 채팅 서비스는 모바일 환경에서 비해 더 좋은 네트워크 상황에서 그리고 일반적인 웹 환경에서 이루어진다. In addition, the conventional chat service is performed in a better network situation and in a general web environment than in a mobile environment.
그리고, 종래의 서버 기반의 채팅 서비스에서는 복잡하고 많은 기능들이 사용자에게 제공되기 때문에, 서버가 많은 기능들을 수행해야 하는 것은 물론, 서버에 접속한 이용자의 컴퓨터에서도 그만큼 많은 기능들을 수행해야만 한다. In addition, since the server-based chat service is complex and many functions are provided to the user, the server has to perform many functions as well as the user's computer connected to the server.
따라서, 종래의 서버 기반의 채팅 서비스가 이루어지는 웹 환경 및 네트워크 환경에 비해 모든 면에서 상대적으로 열악한 모바일 환경에서, 종래의 채팅 서비스를 그대로 적용하게 되면, 채팅 서비스 품질과 사용자 편리성 등이 크게 저하되는 문제점이 있다. Therefore, in the mobile environment, which is relatively poor in all aspects compared to the web environment and the network environment where the server-based chat service is performed, if the conventional chat service is applied as it is, the chat service quality and user convenience are greatly degraded. There is a problem.
이러한 배경에서, 본 발명의 목적은, 모바일 환경에 적합한 클라이언트 기반의 채팅 서비스를 제공하는 데 있다. In this context, an object of the present invention is to provide a client-based chat service suitable for a mobile environment.
전술한 목적을 달성하기 위하여, 일 측면에서, 본 발명은, 제1클라이언트 장치에 대응되는 식별정보인 송신자 정보, 하나 이상의 제2클라이언트 장치에 각각 대응되는 식별정보를 포함하는 수신자 리스트 및 메시지 타입 정보를 포함하는 메시지 헤더와 상기 제1클라이언트 장치에서 입력된 메시지가 패키징된 패키지 데이터를 상기 제1클라이언트 장치로부터 수신하는 메시지 수신부; 상기 패키지 데이터를 저장하는 메시지 저장부; 및 상기 수신자 리스트를 참조하여 상기 저장된 패키지 데이터를 상기 하나 이상의 제2클라이언트 장치로 송신하는 메시지 송신부를 포함하는 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 채팅 서버를 제공한다. In order to achieve the above object, in one aspect, the present invention, the sender information that is identification information corresponding to the first client device, the recipient list and message type information including identification information respectively corresponding to one or more second client devices A message receiver configured to receive, from the first client device, a message header including a message and package data in which a message input from the first client device is packaged; A message storage unit for storing the package data; And a message transmitting unit which transmits the stored package data to the at least one second client device by referring to the recipient list.
다른 측면에서, 본 발명은, 채팅 서버가 클라이언트 기반의 채팅 서비스를 제공하는 방법에 있어서, 제1클라이언트 장치에 대응되는 식별정보인 송신자 정보, 하나 이상의 제2클라이언트 장치에 각각 대응되는 식별정보를 포함하는 수신자 리스트 및 메시지 타입 정보를 포함하는 메시지 헤더와 상기 제1클라이언트 장치에서 입력된 메시지가 패키징된 패키지 데이터를 상기 제1클라이언트 장치로부터 수신하는 단계; 상기 패키지 데이터를 저장하는 단계; 및 상기 수신자 리스트를 참조하여 상기 저장된 패키지 데이터를 상기 하나 이상의 클라이언트 장치로 송신하는 단계를 포함하는 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 방법을 제공한다. In another aspect, the present invention provides a client-based chat service in a chat server, comprising: sender information that is identification information corresponding to a first client device and identification information corresponding to one or more second client devices, respectively. Receiving, from the first client device, a message header including a recipient list and message type information, and package data in which a message input from the first client device is packaged; Storing the package data; And transmitting the stored package data to the one or more client devices with reference to the recipient list.
또 다른 측면에서, 본 발명은, 제1메시지가 입력되면, 제1송신자 정보, 제1수신자 리스트 및 제1메시지 타입 정보를 포함하는 제1메시지 헤더와 상기 입력된 제1메시지를 패키징하여 제1패키지 데이터를 생성하고, 상기 생성된 제1패키지 데이터를 채팅 서버로 송신하는 제1패키지 데이터 송신부; 제2송신자 정보, 제2수신자 리스트 및 제2메시지 타입 정보를 포함하는 제2메시지 헤더와 제2메시지가 패키징된 제2패키지 데이터를 상기 채팅 서버로부터 수신하는 제2패키지 데이터 수신부; 및 상기 입력된 제1 메시지 및 상기 제2메시지를 채팅 화면에 출력하는 채팅 화면 제어부를 포함하는 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 클라이언트 장치를 제공한다. According to another aspect of the present invention, when the first message is input, a first message header including the first sender information, the first receiver list, and the first message type information is packaged with the first message and the first message is packaged. A first package data transmitter for generating package data and transmitting the generated first package data to a chat server; A second package data receiver configured to receive from the chat server a second message header including a second sender information, a second receiver list, and a second message type information, and second package data in which a second message is packaged; And a chat screen controller configured to output the inputted first message and the second message to a chat screen.
또 다른 측면에서, 본 발명은, 클라이언트 장치가 클라이언트 기반의 채팅 서비스를 제공하는 방법에 있어서, 입력된 제1메시지를 채팅 화면에 출력하는 단계; 상기 제1메시지가 입력되면, 제1송신자 정보, 제1수신자 리스트 및 제1메시지 타입 정보를 포함하는 제1메시지 헤더와 상기 입력된 제1메시지를 패키징하여 제1패키지 데이터를 생성하는 단계; 상기 생성된 제1패키지 데이터를 채팅 서버로 송신하는 단계; 제2송신자 정보, 제2수신자 리스트 및 제2메시지 타입 정보를 포함하는 제2메시지 헤더와 제2메시지가 패키징된 제2패키지 데이터를 상기 채팅 서버로부터 수신하는 단계; 및 상기 제2메시지를 상기 채팅 화면에 출력하는 단계를 포함하는 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 방법을 제공한다. In another aspect, the present invention provides a method for providing a client-based chat service, the client device comprising the steps of: outputting the input first message to the chat screen; When the first message is input, packaging a first message header including first sender information, a first receiver list, and first message type information and the inputted first message to generate first package data; Transmitting the generated first package data to a chat server; Receiving, from the chat server, a second message header including a second sender information, a second receiver list, and a second message type information, and second package data in which a second message is packaged; And outputting the second message to the chat screen.
또 다른 측면에서, 본 발명은, 메시지가 입력되면 송신자 정보, 수신자 리스트 및 메시지 타입 정보를 포함하는 메시지 헤더와 상기 입력된 메시지를 패키징하여 패키지 데이터를 생성하여 송신하고, 상기 입력된 메시지를 채팅 화면에 출력하는 제1클라이언트; 상기 패키지 데이터를 수신하여 저장해두고, 상기 수신자 리스트를 참조하여 상기 패키지 데이터를 전달하는 채팅 서버; 및 상기 패키지 데이터를 전달받고, 상기 패키지 데이터에 패키징된 메시지를 채팅 화면에 출력하는 제2클라이언트를 포함하되, 상기 수신자 리스트는 상기 제2클라이언트에 대응되는 식별정보를 포함하는 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 시스템을 제공한다. In another aspect, the present invention, when the message is input, package the message header including the sender information, recipient list and message type information and the input message to generate and transmit the package data, and sends the input message to the chat screen A first client output to the; A chat server which receives and stores the package data and delivers the package data with reference to the recipient list; And a second client receiving the package data and outputting a message packaged in the package data to a chat screen, wherein the recipient list includes identification information corresponding to the second client. Provides a system for providing chat services.
또 다른 측면에서, 본 발명은, 클라이언트 기반의 채팅 서비스를 제공하는 방법을 실행시키기 위한 프로그램을 기록한 기록매체에 있어서, 입력된 제1메시지를 채팅 화면에 출력하는 기능과, 상기 제1메시지가 입력되면, 제1송신자 정보, 제1수신자 리스트 및 제1메시지 타입 정보를 포함하는 제1메시지 헤더와 상기 입력된 제1메시지를 패키징하여 제1패키지 데이터를 생성하는 기능과, 상기 생성된 제1패키지 데이터를 채팅 서버로 송신하는 기능과, 제2송신자 정보, 제2수신자 리스트 및 제2메시지 타입 정보를 포함하는 제2메시지 헤더와 제2메시지가 패키징된 제2패키지 데이터를 상기 채팅 서버로부터 수신하는 기능과, 상기 제2메시지를 상기 채팅 화면에 출력하는 기능을 구현하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다. In another aspect, the present invention, in the recording medium recording a program for executing a method for providing a client-based chat service, the function of outputting the input first message on the chat screen, the first message is input And a first message header including a first sender information, a first recipient list, and a first message type information and a package of the inputted first message to generate first package data, and the generated first package. Receiving from the chat server a function of transmitting data to the chat server, a second message header including a second sender information, a second recipient list, and a second message type information, and second package data packed with a second message; A computer-readable recording medium having recorded thereon a program implementing a function and a function of outputting the second message to the chat screen.
이상에서 설명한 바와 같이 본 발명에 의하면, 모바일 환경에 적합한 클라이언트 기반의 채팅 서비스를 제공하는 효과가 있다. As described above, according to the present invention, there is an effect of providing a client-based chat service suitable for a mobile environment.
도 1은 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 시스템을 개략적으로 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 채팅 서버에 대한 블록도이다.
도 3은 본 발명의 실시예에 따른 채팅 서버가 클라이언트 기반의 채팅 서비스를 제공하는 방법에 대한 흐름도이다.
도 4는 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 클라이언트 장치에 대한 블록도이다.
도 5는 본 발명의 실시예에 따른 클라이언트 장치가 클라이언트 기반의 채팅 서비스를 제공하는 방법에 대한 흐름도이다.
도 6은 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하기 위한 프로토콜에 따른 메시지 송신 절차 및 메시지 수신 절차를 나타낸 도면이다.
도 7은 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하기 위한 프로토콜에 따른 데이터 포맷을 나타낸 도면이다.
도 8은 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하기 위한 프로토콜에 따른 메시지 타입 정보를 예시적으로 정의한 도면이다.
도 9 내지 도 15는 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 예시적으로 설명하기 위한 도면이다. 1 is a diagram schematically illustrating a system for providing a client-based chat service according to an embodiment of the present invention.
2 is a block diagram of a chat server providing a client-based chat service according to an embodiment of the present invention.
3 is a flowchart illustrating a method in which a chat server provides a client-based chat service according to an exemplary embodiment of the present invention.
4 is a block diagram of a client device for providing a client-based chat service according to an embodiment of the present invention.
5 is a flowchart illustrating a method of providing a client-based chat service by a client device according to an exemplary embodiment of the present invention.
6 is a diagram illustrating a message transmission procedure and a message reception procedure according to a protocol for providing a client-based chat service according to an embodiment of the present invention.
7 is a diagram illustrating a data format according to a protocol for providing a client-based chat service according to an embodiment of the present invention.
8 is a diagram exemplarily defining message type information according to a protocol for providing a client-based chat service according to an embodiment of the present invention.
9 to 15 are diagrams for explaining a client-based chat service according to an embodiment of the present invention.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. In adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are assigned to the same components as much as possible even though they are shown in different drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the component of this invention, terms, such as 1st, 2nd, A, B, (a), (b), can be used. These terms are intended to distinguish the constituent elements from other constituent elements, and the terms do not limit the nature, order or order of the constituent elements. When a component is described as being "connected", "coupled", or "connected" to another component, the component may be directly connected to or connected to the other component, It should be understood that an element may be "connected," "coupled," or "connected."
도 1은 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 시스템을 개략적으로 나타낸 도면이다. 1 is a diagram schematically illustrating a system for providing a client-based chat service according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 시스템은, 채팅 서비스를 이용하는 사용자의 클라이언트 장치(100)와, 클라이언트 장치(100)에서 사용자에 의해 입력된 메시지를 클라이언트 장치(100) 간에 전달해주는 채팅 서버(110) 등을 포함한다. Referring to FIG. 1, a system for providing a client-based chat service according to an embodiment of the present invention includes a
본 발명에서 개시하는 채팅 서비스는 웹 환경에 비해 개인 아이덴티티(Identity)가 상대적으로 명확한 모바일 환경에 더욱 적합한 "클라이언트 기반의 채팅 서비스(Client-based Chatting Service)"이다. The chat service disclosed in the present invention is a "client-based chatting service", which is more suitable for a mobile environment in which a personal identity is relatively clear as compared to a web environment.
여기서, "모바일 환경"이란, 통신사에 가입한 사용자가 이동 통신 서비스 또는 무선 통신 서비스 등을 이용하는 환경을 의미하는 것으로서, 이러한 모바일 환경에서는 전화번호, 전화번호와 대응되는 사용자 정보 등과 같이 변하지 않는 고유한 개인 아이덴티티(Identity)가 명확하다. Here, the term "mobile environment" refers to an environment in which a user subscribed to a telecommunication company uses a mobile communication service or a wireless communication service. The personal identity is clear.
종래의 채팅 서비스에서는, 채팅 서버가 사용자 컴퓨터 접속 관리, 이용자 관리, 채팅방 관리, 메시지 관리, 각종 제어 기능 등과 같은 많은 기능들을 수행한다. 이러한 의미에서 종래의 채팅 서비스는 서버 기반의 채팅 서비스이다. In a conventional chat service, a chat server performs many functions such as user computer connection management, user management, chat room management, message management, various control functions, and the like. In this sense, the conventional chat service is a server-based chat service.
또한 종래의 채팅 서비스는 모바일 환경에서 비해 더 좋은 네트워크 상황에서 이루어지고 일반적인 웹 환경에서 이루어진다. In addition, the conventional chat service is performed in a better network situation than in a mobile environment and in a general web environment.
그리고, 종래의 서버 기반의 채팅 서비스에서는 복잡하고 많은 기능들이 사용자에게 제공되기 때문에, 서버가 많은 기능들을 수행해야 하는 것은 물론, 서버에 접속한 이용자의 컴퓨터에서도 그만큼 많은 기능들을 수행해야만 한다. In addition, since the server-based chat service is complex and many functions are provided to the user, the server has to perform many functions as well as the user's computer connected to the server.
따라서, 종래의 서버 기반의 채팅 서비스가 이루어지는 웹 환경 및 네트워크 환경에 비해 모든 면에서 상대적으로 열악한 모바일 환경에서, 종래의 채팅 서비스를 그대로 적용하게 되면, 채팅 서비스 품질과 사용자 편리성 등이 크게 저하되는 문제점이 있다. Therefore, in the mobile environment, which is relatively poor in all aspects compared to the web environment and the network environment where the server-based chat service is performed, if the conventional chat service is applied as it is, the chat service quality and user convenience are greatly degraded. There is a problem.
따라서, 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스에서는, 전술한 모바일 환경에 적합하도록, 웹 환경에서 제공되던 무거운 채팅 서비스에서의 기능적 요소들을 심플하게 하고, 채팅 서버(110)는 심플화된 기능적 요소들 중에서 클라이언트 장치(100) 간의 메시지 전달 기능만을 수행하고, 클라이언트 장치(100)가 나머지 심플화된 기능적 요소들을 수행한다. 이에 대해서는, 도 2 내지 도 3를 참조하여 더욱 상세하게 설명한다. Accordingly, in the client-based chat service according to the embodiment of the present invention, the functional elements of the heavy chat service provided in the web environment are simplified to be suitable for the mobile environment described above, and the
본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 시스템에 포함된 클라이언트 장치(100)와 채팅 서버(110)는 네트워크(120)를 통해 서로 연결되어 채팅 서비스를 제공하기 위하여 통신한다. The
여기서, 네트워크(120)는 유무선 기반의 네트워크로서, 채팅 서버(110)가 연결되는 액세스 망과, 클라이언트 장치(100)가 연결되는 액세스 망(예: 이동통신망, 무선 랜(WiFi) 등)과, 이러한 액세스 망들을 연결해주는 여러 형태일 수 있는 코어 망(Core Network) 등을 포함할 수 있다.Here, the
전술한 클라이언트 장치(100)는 스마트폰, 태블릿 PC, 이동통신 단말기 등일 수 있으며, 이외에도, 통신기능을 갖는 어떠한 휴대용 단말기일 수 있다. The
또한 클라이언트 장치(100)는 애플리케이션 스토어 서버를 통해 설치된 애플리케이션을 실행시켜 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공한다. 즉, 애플리케이션 스토어 서버를 통해 클라이언트 장치(100)에 설치된 애플리케이션은, 클라이언트 장치(100)의 하드웨어 구성(예: 통신모듈, 메모리, 프로세서, 디스플레이 등)을 이용하여 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공한다. In addition, the
전술한 바와 같이, 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하기 위하여 채팅 서버(110)는, 클라이언트 장치(100) 간의 메시지 전달 기능을 수행하는데, 이러한 채팅 서버(110)에 대하여 도 2 내지 도 3을 참조하여 아래에서 더욱 상세하게 설명한다. As described above, in order to provide a client-based chat service according to an exemplary embodiment of the present invention, the
도 2는 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 채팅 서버(110)에 대한 블록도이다. 2 is a block diagram of a
단, 아래에서는, 입력된 메시지를 다른 클라이언트 장치(100)로 전달하기 위하여 채팅 서버(110)로 메시지를 송신하는 클라이언트 장치(100)를 "제1클라이언트 장치(100a)"라고도 하고, 채팅 서버(100)에 저장된 메시지를 수신하는 클라이언트 장치(110)를 "제2클라이언트 장치(100b)"라고도 한다. 하나의 클라이언트 장치(100)는 메시지가 입력되어 채팅 서버(100)로 송신하는 때에는 제1클라이언트 장치(100a)로 작동하고 채팅 서버(100)로부터 메시지를 수신하는 때에는 제2클라이언트 장치(100b)로 작동한다. 즉, 제1클라이언트 장치(100a)와는 제2클라이언트 장치(100b)는 서로 다른 클라이언트 장치(100)일 수도 있고, 어떠한 한 시점에서의 역할을 구분하기 위하여 동일한 클라이언트 장치(100)를 다르게 나타낸 것일 수도 있다. However, hereinafter, the
도 2를 참조하면, 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 채팅 서버(110)는, 메시지 전달을 위해, 제1클라이언트 장치(100a)에서 입력된 메시지를 제1클라이언트 장치(100a)로부터 수신하는 메시지 수신부(210)와, 제1클라이언트 장치(100a)로부터 수신한 메시지를 저장하는 메시지 저장부(220)와, 저장된 메시지를 제2클라이언트 장치(100b)로 송신하는 메시지 송신부(230) 등을 포함한다. Referring to FIG. 2, the
본 발명에서는, 제1클라이언트 장치(100a)로부터 수신된 메시지(사용자에 의해 입력된 메시지)가 해당 제2클라이언트 장치(100b)로 정확히 전달되기 위해서, 사용자에 의해 입력된 메시지는 메시지 헤더가 붙어서 패키징 되어 패키지 데이터의 형태로 전달된다. 여기서, 메시지 헤더에는, 메시지를 보내는 송신자 정보, 메시지를 받는 수신자 정보를 포함하는 수신자 리스트, 메시지 타입 정보 등을 포함한다. In the present invention, in order for a message (a message input by a user) received from the
단, 아래에서는, 제1클라이언트 장치(100a)에서 채팅 서버(110)로 송신되는 패키지 데이터, 메시지 및 메시지 헤더를 "제1패키지 데이터", "제1메시지" 및 "제1메시지 헤더"라고도 한다. 채팅 서버(110)에서 제2클라이언트 장치(100b)로 송신되는 패키지 데이터, 메시지 및 메시지 헤더를 "제2패키지 데이터", "제2메시지" 및 "제2메시지 헤더"라고도 한다. However, below, package data, a message, and a message header transmitted from the
메시지 M이 클라이언트 장치 A에서 채팅 서버(110)를 통해 클라이언트 장치 B로 전달되는 경우, 채팅 서버(110)가 클라이언트 장치 A로부터 수신하는 메시지 M은 제1메시지이고, 채팅 서버(110)가 클라이언트 장치 B로 송신하는 메시지 M은 제2메시지이다. 또한, 클라이언트 장치 A가 채팅 서버(110)로 송신하는 메시지 M은 제1메시지이고, 클라이언트 장치 B가 채팅 서버(110)로부터 수신하는 메시지 M은 제2메시지이다. 즉, "제1메시지와 제2메시지"는 채팅 서버(110)가 수신하는 메시지와 송신하는 메시지를 구분하거나, 클라이언트 장치(100)가 송신하는 메시지와 수신하는 메시지를 구분하기 위하여 구분하여 사용한 것일 뿐, 실제로는 동일한 메시지일 수도 있다. When the message M is delivered from the client device A to the client device B through the
제1패키지 데이터가 제1클라이언트 장치(100a)에서 채팅 서버(110)를 통해 제2클라이언트 장치(100b)로 전달된다. The first package data is transmitted from the
메시지가 패키징 되어 전달되는 경우, 메시지 수신부(210)는, 제1클라이언트 장치(100a)에 대응되는 식별정보인 제1송신자 정보, 하나 이상의 제2클라이언트 장치(100b)에 각각 대응되는 식별정보를 포함하는 제1수신자 리스트 및 제1메시지 타입 정보를 포함하는 "제1메시지 헤더"와 제1클라이언트 장치(100a)에서 입력된 "제1메시지"가 패키징된 제1패키지 데이터를 제1클라이언트 장치(100a)로부터 수신한다. 메시지 저장부(220)는, 제1클라이언트 장치(100a)로부터 수신한 제1패키지 데이터를 메시지 저장 공간에 저장한다. 그리고, 메시지 송신부(230)는 제1패키지 데이터에서의 제1수신자 리스트를 참조하여 메시지 저장 공간에 저장된 제1패키지 데이터를 하나 이상의 제2클라이언트 장치(100b)로 송신한다. 여기서, 클라이언트 정치(100)에 대응되는 식별정보는, 일 예로, 전화번호, 전화번호와 대응될 수 있는 사용자 정보 등의 개인 고유의 정보일 수 있다. When the message is packaged and delivered, the
전술한 메시지 송신부(230)는 저장된 제1패키지 데이터를 풀(Pull) 방식 또는 푸시(Push) 방식으로 하나 이상의 제2클라이언트 장치(100b)로 송신할 수 있다. The above-described
만약, 풀(Pull) 방식으로 송신하는 경우, 메시지 송신부(230)는 제2클라이언트 장치(100b)로부터 메시지 요청 데이터가 수신되면, 제2클라이언트 장치(100b)에 대응되는 식별정보가 저장된 제1패키지 데이터에서의 제1수신자 리스트에 포함되어 있는지를 확인하여, 포함되어 있는 것으로 확인되면, 제2클라이언트 장치(100b)로 저장된 제1패키지 데이터를 송신한다. 이 경우, 제2클라이언트 장치(100b)의 사용자의 입력에 따라 메시지 요청 데이터를 송신하거나, 제2클라이언트 장치(100b)에 설치된 애플리케이션이 실행되어 있다가 애플리케이션이 주기적 또는 이벤트 발생시 자동으로 메시지 요청 데이터를 채팅 서버(110)로 송신해야 한다. In case of transmitting in a pull mode, when the message request data is received from the
만약, 푸시(Push) 방식으로 송신하는 경우, 메시지 송신부(230)는 제1패키지 데이터가 저장되면 저장된 제1패키지 데이터에서의 제1수신자 리스트를 확인하여 이러한 확인을 통해 알게 된 해당 제2클라이언트 장치(100b)로 제1패키지 데이터를 송신할 수 있다. 이러한 경우, 제2클라이언트 장치(100b)는 제1패키지 데이터를 수신할 수 있는 상태로 되어 있거나, 제2클라이언트 장치(100b)에 설치된 애플리케이션이 실행되어 있기만 하면 된다. If the message is transmitted using the push method, the
전술한 설명에 기초하여, 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 시스템을 다시 설명하면, 시스템은, 메시지가 입력되면 송신자 정보, 수신자 리스트 및 메시지 타입 정보를 포함하는 메시지 헤더와 입력된 메시지를 패키징하여 패키지 데이터를 생성하여 송신하고, 입력된 메시지를 채팅 화면에 출력하는 제1클라이언트 장치(100a)와, 패키지 데이터를 제1클라이언트 장치(100a)로부터 수신하여 저장해두고, 패키지 데이터에 패키징된 메시지 헤더에 포함된 수신자 리스트를 참조하여 패키지 데이터를 전달하는 채팅 서버(110)와, 패키지 데이터를 채팅 서버(110)로부터 전달받고, 전달받은 패키지 데이터에 패키징된 메시지를 채팅 화면에 출력하는 제2클라이언트 장치(100b)를 포함한다. Based on the foregoing description, again describing a system for providing a client-based chat service according to an embodiment of the present invention , the system includes a message header including sender information, a recipient list, and message type information when a message is input; Package the input message to generate and send package data, and receive and store the package data from the
패키지 데이터에 패키징된 메시지 헤더에 포함된 수신자 리스트는 제2클라이언트 장치(100b)에 대응되는 식별정보를 포함한다. The recipient list included in the message header packaged in the package data includes identification information corresponding to the
제2클라이언트 장치(100b)는, 패키지 데이터에 패키징된 메시지 헤더에 포함된 송신자 정보와 수신자 리스트를 토대로 채팅 참여자 리스트를 파악하여 새로운 참여자를 추가하거나 기존 참여자를 삭제하는 등의 관리 기능을 수행할 수 있다. The
도 3은 본 발명의 실시예에 따른 채팅 서버(110)가 클라이언트 기반의 채팅 서비스를 제공하는 방법에 대한 흐름도이다. 3 is a flowchart illustrating a method in which the
도 3을 참조하면, 본 발명의 실시예에 따른 채팅 서버(110)가 클라이언트 기반의 채팅 서비스를 제공하는 방법은, 제1클라이언트 장치(100a)에 대응되는 식별정보인 제1송신자 정보, 하나 이상의 제2클라이언트 장치(100b)에 각각 대응되는 식별정보를 포함하는 제1수신자 리스트 및 제1메시지 타입 정보를 포함하는 제1메시지 헤더와 제1클라이언트 장치(100a)에서 입력된 제1메시지가 패키징된 제1패키지 데이터를 제1클라이언트 장치(100a)로부터 수신하는 단계(S300)와, 수신된 제1패키지 데이터를 저장하는 단계(S302)와, 저장된 제1패키지 데이터에서의 제1수신자 리스트를 참조하여 저장된 제1패키지 데이터를 하나 이상의 제2클라이언트 장치(100b)로 송신하는 단계(S304) 등을 포함한다. Referring to FIG. 3, the method for providing a client-based chat service by the
이하에서는, 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 클라이언트 장치(100)에 대하여 도 4 및 도 5를 참조하여 더욱 상세하게 설명한다. Hereinafter, a
도 4는 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 클라이언트 장치(100)에 대한 블록도이다. 4 is a block diagram of a
도 4를 참조하면, 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 클라이언트 장치(100)는, 사용자에 의해 제1메시지가 입력되면, 제1송신자 정보, 제1수신자 리스트 및 제1메시지 타입 정보를 포함하는 제1메시지 헤더와 사용자에 의해 입력된 제1메시지를 패키징하여 제1패키지 데이터를 생성하고, 이렇게 생성된 제1패키지 데이터를 채팅 서버(110)로 송신하는 제1패키지 데이터 송신부(410)와, 제2송신자 정보, 제2수신자 리스트 및 제2메시지 타입 정보를 포함하는 제2메시지 헤더와 제2메시지가 패키징된 제2패키지 데이터를 채팅 서버(110)로부터 수신하는 제2패키지 데이터 수신부(420)와, 사용자에 의해 입력된 제1 메시지 및 제2패키지 데이터에 패키징된 제2메시지를 채팅 화면에 출력하는 채팅 화면 제어부(430) 등을 포함한다. Referring to FIG. 4, when a first message is input by a user, the
제1패키지 데이터 송신부(410)에 의해 제1패키지 데이터를 송신하는 클라이언트 장치(100)는 제1클라이언트 장치(100a)로서 동작하고, 제2패키지 데이터 수신부(420)에 의해 제2패키지 데이터를 수신하는 클라이언트 장치(100)는 제2클라이언트 장치(100b)로서 동작한다. The
전술한 제1패키지 데이터 송신부(410)는, 제1메시지를 패키징하여 송신하기 위하여, 사용자 입력 또는 미리 관리되고 있던 채팅 참여자 리스트를 토대로 하나 이상의 다른 클라이언트 장치(클라이언트 장치(100)의 사용자가 채팅하고자 하는 사용자의 클라이언트 장치이거나 클라이언트 장치(100)의 사용자 채팅하고 있는 사용자의 클라이언트 장치임)에 각각 대응되는 식별정보를 포함하는 제1수신자 리스트를 설정할 수 있다. The first
여기서, 사용자 입력에 따라 제1수신자 리스트를 설정하는 방식은 클라이언트 장치(100)의 사용자가 채팅하고자 하는 사용자를 초대할 때 제1수신자 리스트를 설정하는 방식일 수 있다. 또한, 미리 관리되고 있던 채팅 참여자 리스트를 토대로 제1수신자 리스트를 설정하는 방식은 이미 채팅이 이루어지고 있는 동안에 제1수신자 리스트를 설정하는 방식일 수 있다. Here, the method of setting the first recipient list according to the user input may be a method of setting the first recipient list when a user of the
한편, 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 클라이언트 장치(100)는, 채팅하는 있는 모든 사용자(참여자)의 리스트를 관리하는 기능을 수행할 수 있다. 이를 위해, 도 4에 도시된 바와 같이, 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 클라이언트 장치(100)는, 하나 이상의 다른 클라이언트 장치와 클라이언트 장치(100)에 각각 대응되는 식별정보를 포함하는 채팅 참여자 리스트를 관리하는 채팅 참여자 리스트 관리부(440)를 더 포함할 수 있다. Meanwhile, the
전술한 채팅 참여자 리스트 관리부(440)는, 제2메시지 타입 정보가 "초대 메시지 타입 정보"인 제2패키지 데이터를 채팅 서버(110)로부터 수신한 이후에, 제2패키지 데이터에 패키징된 제2메시지 헤더에 포함된 제2수신자 리스트를 토대로 새로운 클라이언트 장치에 대응되는 식별정보를 기존에 관리되고 있던 채팅 참여자 리스트에 새로운 클라이언트 장치에 대응되는 식별정보를 추가할 수 있다. The chat
다시 말해, 클라이언트 장치(100)의 사용자와 채팅하고 있는 다른 사용자가 누군가를 초대하기 위하여, 초대할 사용자의 클라이언트 장치에 대응되는 식별정보를 수신자 리스트(클라이언트 장치(100)의 입장에서는 제2수신자 리스트)에 포함시키고 메시지 타입 정보를 초대 메시지 타입 정보로 설정하여 패키지 데이터(클라이언트 장치(100)의 입장에서는 제2패키지 데이터)를 채팅 서버(110)를 통해 전달하면, 패키지 데이터를 수신하는 모든 클라이언트 장치는 기존에 관리하고 있던 참여자 리스트에는 포함되지 않은 "초대할 사용자의 클라이언트 장치에 대응되는 식별정보"를 추가하는 것이다. In other words, in order for another user who is chatting with the user of the
전술한 채팅 참여자 리스트 관리부(440)는, 제2메시지 타입 정보가 "나가기 메시지 타입 정보"인 제2패키지 데이터를 채팅 서버(110)로부터 수신한 이후에, 제2패키지 데이터에 패키징된 제2메시지 헤더에 포함된 제2송신자 정보인 특정 다른 클라이언트 장치에 대응되는 식별정보를 기존에 관리하고 있던 채팅 참여자 리스트에서 삭제할 수 있다. The chat
다시 말해, 클라이언트 장치(100)의 사용자와 채팅하고 있는 다른 사용자(채팅을 중지한 사용자)가 채팅을 그만 하기 위하여 나가기 버튼을 누르는 등을 조작한 경우에, 채팅을 중지한 사용자의 클라이언트 장치에서는, 송신자 정보(클라이언트 장치(100)의 입장에서는 제2송신자 정보)를 자신에 대응되는 식별정보로 설정하고 메시지 타입 정보(클라이언트 장치(100)의 입장에서는 제2메시지 타입 정보)를 나가기 메시지 타입 정보로 설정하여 패키지 데이터(클라이언트 장치(100)의 입장에서는 제2패키지 데이터)를 채팅 서버(110)로 송신하면, 이 패키지 데이터를 수신한 모든 클라이언트 장치는 채팅을 중지한 사용자의 클라이언트 장치에 대응되는 식별정보를 기존에 관리하고 있던 참여자 리스트에서 삭제한다. In other words, when another user (user who has stopped chatting) chatting with the user of the
위에서 언급한 제1메시지 타입 정보 및 제2메시지 타입 정보는 초대 메시지 타입 정보, 일반 메시지 타입 정보 및 나가기 메시지 타입 정보 등 중 하나일 수 있다. The first message type information and the second message type information mentioned above may be one of invitation message type information, general message type information, and exit message type information.
전술한 제2패키지 데이터 수신부(420)는, 채팅 서버(110)로부터 제2패키지 데이터를 수신하기 위하여, 채팅 서버(110)의 메시지 저장 공간에 가져올 제2패키지 데이터가 있는지를 확인하기 위하여, 클라이언트 장치(100)에 대응되는 식별정보를 포함하는 메시지 요청 데이터를 채팅 서버(110)로 송신하여, 제2패키지 데이터를 수신할 수 있다. 이때 수신되는 제2패키지 데이터에서의 제2수신자 리스트에는 클라이언트 장치(100)에 대응되는 식별정보가 포함되어 있다. In order to receive the second package data from the
전술한 제2패키지 데이터 수신부(420)는, 메시지 요청 데이터를 채팅 서버(110)로 송신하지 않고, 대기 상태에서 메시지 요청 데이터를 수신할 수도 있다. The second
본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스는, 1-1 채팅 서비스일 수도 있고 그룹 채팅 서비스일 수도 있다. 1-1 채팅 서비스 및 그룹 채팅 서비스는, 전달되는 패키지 데이터에 패키징된 메시지 헤더에 포함된 수신자 리스트에 클라이언트에 대응되는 식별정보가 한 개인 것과 복수인 것만 다를 뿐, 그 제공 방식과, 채팅 서버(110) 및 클라이언트 장치(100)의 동작은 동일하다. 다만, 그룹 채팅 서비스를 효율적으로 제공하기 위하여, 패키지 데이터에 패키징된 메시지 헤더에 채팅 그룹을 식별하기 위한 그룹 정보를 더 포함시킬 수 있다. 여기서, 채팅 그룹은 같이 채팅을 하고 있는 사용자(클라이언트 장치)의 그룹을 의미하고, 이러한 채팅 그룹 내에서만 메시지가 전달되기 때문에 채팅 그룹은 메시지 전달 범위에 있는 사용자(클라이언트 장치)의 그룹을 의미할 수도 있습니다. 이러한 채팅 그룹은 2명의 사용자 간 1-1 채팅에 대한 채팅 그룹일 수도 있고, 3명 이상의 사용자 간 그룹 채팅에 대한 채팅 그룹일 수도 있다. The client-based chat service according to an embodiment of the present invention may be a 1-1 chat service or a group chat service. The 1-1 chat service and the group chat service differ only in one or more identification information corresponding to the client from the recipient list included in the message header packaged in the package data to be delivered. The operation of 110 and the
예를 들어, 그룹 정보가 메시지 헤더에 포함되어 있으면, 채팅 서버(110)가 메시지 저장 공간에 저장된 패키지 데이터 중 전달할 해당 패키지 데이터를 더욱 신속히 추출할 수 있다. 또한, 그룹 정보가 메시지 헤더에 포함되어 있으면, 클라이언트 장치(100)에서 여러 개의 채팅이 이루어지고 있는 동안, 클라이언트 장치(100)는 각 채팅 별로 해당 패키지 데이터를 더욱 편리하고 신속하게 관리할 수 있다. 이에 따라, 더욱 신속한 채팅 서비스를 사용자에게 제공할 수 있다. For example, if the group information is included in the message header, the
도 4에 도시된 본 발명의 실시예에 따른 클라이언트 장치(100)는, 애플리케이션 스토어 서버(Application Store Sever)를 통해 설치된 애플리케이션(채팅 클라이언트 프로그램)을 실행시켜 클라이언트 기반의 채팅 서비스를 제공하는 스마트폰, 태블릿 PC, 이동통신 단말기 등의 모바일 단말기일 수 있다.
도 5는 본 발명의 실시예에 따른 클라이언트 장치(100)가 클라이언트 기반의 채팅 서비스를 제공하는 방법에 대한 흐름도이다. 5 is a flowchart illustrating a method in which the
도 5를 참조하면, 본 발명의 실시예에 따른 클라이언트 장치(100)가 클라이언트 기반의 채팅 서비스를 제공하는 방법은, 사용자에 의해 입력된 제1메시지를 채팅 화면에 출력하는 단계(S300)와, 제1메시지가 입력되면, 제1송신자 정보, 제1수신자 리스트 및 제1메시지 타입 정보를 포함하는 제1메시지 헤더와 입력된 제1메시지를 패키징하여 제1패키지 데이터를 생성하는 단계(S302)와, 생성된 제1패키지 데이터를 채팅 서버(110)로 송신하는 단계(S304)와, 제2송신자 정보, 제2수신자 리스트 및 제2메시지 타입 정보를 포함하는 제2메시지 헤더와 제2메시지가 패키징된 제2패키지 데이터를 채팅 서버(110)로부터 수신하는 단계(S306)와, 제2메시지를 채팅 화면에 출력하는 단계(S308) 등을 포함한다. Referring to FIG. 5, the method for providing a client-based chat service by the
전술한 절차는, 클라이언트 장치(100)가 메시지(제1메시지)를 먼저 송신한 이후 다른 클라이언트 장치에서 입력된 메시지(제2메시지)를 나중에 수신하는 경우를 가정한 일 예이다. The above procedure is an example in which the
제1패키지 데이터에 패키징된 제1메시지 헤더에 포함된 제1송신자 정보는 클라이언트 장치(100)에 대응되는 식별정보이고, 제1수신자 리스트는 하나 이상의 다른 클라이언트 장치에 각각 대응되는 식별정보를 포함한다. The first sender information included in the first message header packaged in the first package data is identification information corresponding to the
제2패키지 데이터에 패키징된 제2메시지 헤더에 포함된 제2송신자 정보는 하나 이상의 다른 클라이언트 장치 중 특정 다른 클라이언트 장치에 대응되는 식별정보이며, 제2수신자 리스트는 클라이언트 장치(100)에 대응되는 식별정보 등을 포함할 수 있다. The second sender information included in the second message header packaged in the second package data is identification information corresponding to a specific other client device among one or more other client devices, and the second recipient list is identification corresponding to the
전술한 S302 단계에서는, 제1메시지를 패키징하여 송신할 제1패키지 데이터를 생성할 때, 사용자 입력 또는 미리 관리되고 있던 채팅 참여자 리스트를 토대로 하나 이상의 다른 클라이언트 장치(클라이언트 장치(100)의 사용자가 채팅하고자 하는 사용자의 클라이언트 장치이거나 클라이언트 장치(100)의 사용자 채팅하고 있는 사용자의 클라이언트 장치임)에 각각 대응되는 식별정보를 포함하는 제1수신자 리스트를 설정할 수 있다. In the above-described step S302, when generating the first package data to be sent by packaging the first message, one or more other client devices (users of the client device 100) chat on the basis of a user input or a previously managed chat participant list. A first recipient list including identification information corresponding to a client device of a user or a client device of a user having a user chat of the
여기서, 사용자 입력에 따라 제1수신자 리스트를 설정하는 방식은 클라이언트 장치(100)의 사용자가 채팅하고자 하는 사용자를 초대할 때 제1수신자 리스트를 설정하는 방식일 수 있다. 또한, 미리 관리되고 있던 채팅 참여자 리스트를 토대로 제1수신자 리스트를 설정하는 방식은 이미 채팅이 이루어지고 있는 동안에 제1수신자 리스트를 설정하는 방식일 수 있다. Here, the method of setting the first recipient list according to the user input may be a method of setting the first recipient list when a user of the
전술한 S306 단계 이후, 즉, 제2패키지 데이터를 수신한 이후에, 수신한 제2패키지 데이터에 패키징된 제2메시지 헤더에 포함된 제2메시지 타입 정보가 "초대 메시지 타입 정보"인 경우, 수신한 제2패키지 데이터에 패키징된 제2메시지 헤더에 포함된 제2수신자 리스트를 토대로 제2패키지 데이터가 수신되기 이전에 관리되고 있던 채팅 참여자 리스트에 새로운 클라이언트 장치에 대응되는 식별정보를 추가할 수 있다. If the second message type information included in the second message header packaged in the received second package data after the above-described step S306, that is, after receiving the second package data, is received. Identification information corresponding to the new client device may be added to the chat participant list managed before the second package data is received based on the second recipient list included in the second message header packaged in the second package data. .
전술한 S306 단계 이후, 즉, 제2패키지 데이터를 수신한 이후에, 수신한 제2패키지 데이터에 패키징된 제2메시지 헤더에 포함된 제2메시지 타입 정보가 "나가기 메시지 타입 정보"인 경우, 수신한 제2패키지 데이터에 패키징된 제2메시지 헤더에 포함된 제2송신자 정보인 특정 다른 클라이언트 장치에 대응되는 식별정보를 제2패키지 데이터가 수신되기 이전에 관리되고 있던 채팅 참여자 리스트에서 삭제할 수 있다. If the second message type information included in the second message header packaged in the received second package data after the above-described step S306, that is, after receiving the second package data, is received, the message is received. The identification information corresponding to the specific other client device, which is the second sender information included in the second message header packaged in the second package data, may be deleted from the chat participant list managed before the second package data is received.
위에서 언급한 제1메시지 타입 정보 및 제2메시지 타입 정보 각각은, 초대 메시지 타입 정보, 일반 메시지 타입 정보 및 나가기 메시지 타입 정보 등 중 하나일 수 있다. Each of the first message type information and the second message type information mentioned above may be one of invitation message type information, general message type information, and exit message type information.
본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스는, 1-1 채팅 서비스일 수도 있고 그룹 채팅 서비스일 수도 있다. 1-1 채팅 서비스 및 그룹 채팅 서비스는, 전달되는 패키지 데이터에 패키징된 메시지 헤더에 포함된 수신자 리스트에 클라이언트에 대응되는 식별정보가 한 개인 것과 복수인 것만 다를 뿐, 그 제공 방식과, 채팅 서버(110) 및 클라이언트 장치(100)의 동작은 동일하다. 다만, 그룹 채팅 서비스를 효율적으로 제공하기 위하여, 전술한 302 단계에서 제1패키지 데이터를 생성할 때, 제1메시지 헤더에 그룹 정보를 더 포함시킬 수 있다. 제2메시지 헤더에도 그룹 정보가 더 포함될 수 있다. The client-based chat service according to an embodiment of the present invention may be a 1-1 chat service or a group chat service. The 1-1 chat service and the group chat service differ only in one or more identification information corresponding to the client from the recipient list included in the message header packaged in the package data to be delivered. The operation of 110 and the
예를 들어, 그룹 정보가 메시지 헤더에 포함되어 있으면, 채팅 서버(110)가 메시지 저장 공간에 저장된 패키지 데이터 중 전달할 해당 패키지 데이터를 더욱 신속히 추출할 수 있다. 또한, 그룹 정보가 메시지 헤더에 포함되어 있으면, 클라이언트 장치(100)에서 여러 개의 채팅이 이루어지고 있는 동안, 클라이언트 장치(100)는 각 채팅 별로 해당 패키지 데이터를 더욱 편리하고 신속하게 관리할 수 있다. 이에 따라, 더욱 신속한 채팅 서비스를 사용자에게 제공할 수 있다. For example, if the group information is included in the message header, the
전술한 S306 단계에서는, 채팅 서버(110)로부터 가져올 제2패키지 데이터가 있는지를 확인하기 위하여, 클라이언트 장치(100)에 대응되는 식별정보를 포함하는 메시지 요청 데이터를 채팅 서버(110)로 송신하여 제2패키지 데이터를 채팅 서버(110)로부터 수신할 수 있다. 이때, 제2패키지 데이터에서의 제2수신자 리스트에는 클라이언트 장치(100)에 대응되는 식별정보가 포함되어 있다. In step S306 described above, in order to check whether there is the second package data to be obtained from the
또한, 전술한 S306 단계에서는, 메시지 요청 데이터를 채팅 서버(110)로 송신하지 않고, 대기 상태에서 메시지 요청 데이터를 수신할 수도 있다. In addition, in step S306 described above, the message request data may be received in the standby state without transmitting the message request data to the
전술한 절차는, 클라이언트 장치(100)가 메시지(제1메시지)를 먼저 송신한 이후 다른 클라이언트 장치에서 입력된 메시지(제2메시지)를 나중에 수신하는 경우를 가정한 일 예일 뿐, 전술한 S300 단계 및 S302 단계는, S304 단계 및 S306 단계 이후에 실행될 수도 있다. The above-described procedure is merely an example in which the
전술한 클라이언트 장치(100)는, 애플리케이션 스토어 서버(Application Store Sever)를 통해 설치된 애플리케이션(채팅 클라이언트 프로그램)을 실행시켜 클라이언트 기반의 채팅 서비스를 제공하는 스마트폰, 태블릿 PC, 이동통신 단말기 등의 모바일 단말기일 수 있다. The
전술한 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 방법이 실행되는 물리적인 장치는 클라이언트 장치(100)이더라도 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 방법을 실행시키는 실질적인 주체는 애플리케이션 스토어 서버를 클라이언트 장치(100)에 설치된 애플리케이션, 즉, 채팅 프로그램일 수 있다. Even if the physical device on which the method for providing a client-based chat service according to the above-described embodiment of the present invention is executed is a
이에 따라, 전술한 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 방법은 프로그램(즉, 애플리케이션)으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. Accordingly, the method for providing a client-based chat service according to the embodiment of the present invention described above may be implemented in a program (ie, an application) and recorded in a computer-readable recording medium.
본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 방법을 구현한 프로그램은, 입력된 제1메시지를 채팅 화면에 출력하는 기능과, 제1메시지가 입력되면, 제1송신자 정보, 제1수신자 리스트 및 제1메시지 타입 정보를 포함하는 제1메시지 헤더와 입력된 제1메시지를 패키징하여 제1패키지 데이터를 생성하는 기능과, 생성된 제1패키지 데이터를 채팅 서버(110)로 송신하는 기능과, 제2송신자 정보, 제2수신자 리스트 및 제2메시지 타입 정보를 포함하는 제2메시지 헤더와 제2메시지가 패키징된 제2패키지 데이터를 채팅 서버(110)로부터 수신하는 기능과, 제2메시지를 채팅 화면에 출력하는 기능 등을 실행한다. The program implementing the method for providing a client-based chat service according to an embodiment of the present invention includes a function of outputting an input first message on a chat screen, and, when a first message is input, first sender information and a first message. A function of packaging a first message header including a recipient list and first message type information and an inputted first message to generate first package data, and transmitting the generated first package data to the
이러한 프로그램(애플리케이션)은 컴퓨터에 의해 읽힐 수 있는 기록매체에 기록되고 컴퓨터에 의해 실행됨으로써 전술한 기능들이 실행될 수 있다. Such a program (application) is recorded on a recording medium readable by a computer and executed by a computer so that the above functions can be executed.
이와 같이, 컴퓨터가 기록매체에 기록된 프로그램을 읽어 들여 프로그램으로 구현된 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 방법을 실행시키기 위하여, 전술한 프로그램은 컴퓨터의 프로세서(CPU)가 컴퓨터의 장치 인터페이스(Interface)를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. As described above, in order to execute a method of providing a client-based chat service according to an embodiment of the present invention in which a computer reads a program recorded on a recording medium and is implemented as a program, the above-described program may be executed by a processor (CPU) of the computer. Code may be coded in a computer language such as C, C ++, JAVA, or machine language that can be read through a computer device interface.
이러한 코드는 전술한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Function Code)를 포함할 수 있고, 전술한 기능들을 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수도 있다. The code may include a function code related to a function or the like that defines the functions described above and may include an execution procedure related control code necessary for the processor of the computer to execute the functions described above according to a predetermined procedure.
또한, 이러한 코드는 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 방법을 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조 되어야 하는지에 대한 메모리 참조 관련 코드를 더 포함할 수 있다. In addition, such code must be referenced from any location (address address) of the computer's internal or external memory for additional information or media necessary for the processor of the computer to execute the method of providing a client-based chat service according to an embodiment of the present invention. Memory reference related code may be further included.
또한, 컴퓨터의 프로세서가 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 방법을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 채팅 서버 등과 통신이 필요한 경우, 코드는 컴퓨터의 프로세서가 컴퓨터의 통신 모듈을 이용하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 채팅 서버 등과 어떻게 통신해야만 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수도 있다. In addition, when the processor of the computer needs to communicate with any other computer or chat server in the remote to execute the method of providing a client-based chat service according to an embodiment of the present invention, the code is The communication module of the computer may further include communication-related code on how to communicate with any other computer or chat server in a remote, and what information or media should be transmitted and received during communication.
그리고, 본 발명을 구현하기 위한 기능적인(Functional) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.The functional program for implementing the present invention and the related code and code segment may be implemented by programmers of the technical field of the present invention in consideration of the system environment of the computer that reads the recording medium and executes the program, Or may be easily modified or modified by the user.
이상에서 전술한 바와 같은 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는, 일 예로, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 미디어 저장장치 등이 있다. Examples of recording media that can be read by a computer recording a program as described above include, for example, a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical media storage device, and the like.
또한 전술한 바와 같은 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는 네트워크로 커넥션된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 이 경우, 다수의 분산된 컴퓨터 중 어느 하나 이상의 컴퓨터는 상기에 제시된 기능들 중 일부를 실행하고, 그 결과를 다른 분산된 컴퓨터들 중 하나 이상에 그 실행 결과를 전송할 수 있으며, 그 결과를 전송받은 컴퓨터 역시 상기에 제시된 기능들 중 일부를 실행하여, 그 결과를 역시 다른 분산된 컴퓨터들에 제공할 수 있다. Also, the computer-readable recording medium on which the above-described program is recorded may be distributed to a computer system connected via a network so that computer-readable codes can be stored and executed in a distributed manner. In this case, one or more of the plurality of distributed computers may execute some of the functions presented above and send the results of the execution to one or more of the other distributed computers, The computer may also perform some of the functions described above and provide the results to other distributed computers as well.
특히, 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 방법을 실행시키기 위한 프로그램인 애플리케이션을 기록한 컴퓨터로 읽을 수 있는 기록매체는 애플리케이션 스토어 채팅 서버에 포함된 저장매체(예: 하드디스크 등) 또는 애플리케이션 스토어 채팅 서버 그 자체일 수도 있다. In particular, a computer-readable recording medium recording an application, which is a program for executing a method of providing a client-based chat service according to an embodiment of the present invention, may be a storage medium (eg, a hard disk, etc.) included in an application store chat server. ) Or the application store chat server itself.
본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 방법을 실행시키기 위한 프로그램인 애플리케이션을 기록한 기록매체를 읽을 수 있는 컴퓨터는, 일반적인 데스크 탑이나 노트북 등의 일반 PC 뿐만 아니라, 스마트폰, 태블릿 PC, PDA(Personal Digital Assistants) 및 이동통신 단말기 등의 모바일 단말기를 포함할 수 있는 클라이언트 장치(100)일 수 있으며, 이뿐만 아니라, 컴퓨팅(Comuputing) 가능한 모든 기기로 해석되어야 할 것이다. A computer capable of reading a recording medium recording an application which is a program for executing a method of providing a client-based chat service according to an embodiment of the present invention is not only a general PC such as a general desktop or a laptop, but also a smartphone and a tablet. The
본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 방법을 실행시키기 위한 프로그램인 애플리케이션을 기록한 기록매체를 읽을 수 있는 컴퓨터가 스마트폰, 태블릿 PC, PDA(Personal Digital Assistants) 및 이동통신 단말기 등의 모바일 단말기를 포함하는 클라이언트 장치(100)인 경우, 애플리케이션은 애플리케이션 스토어 서버에서 일반 PC로 다운로드 되어 동기화프로그램을 통해 클라이언트 장치(100)에 설치될 수 있다. A computer capable of reading a recording medium recording an application which is a program for executing a method of providing a client-based chat service according to an embodiment of the present invention may be a smartphone, a tablet PC, a personal digital assistant (PDA), a mobile communication terminal, or the like. In the case of the
이하에서는, 이상에서 전술한 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 예시적으로 설명한다. Hereinafter, a client-based chat service according to an embodiment of the present invention described above will be described as an example.
단, 이하에서는, 클라이언트 장치(100)에 설치된 애플리케이션(채팅 프로그램)이 전술한 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 실행시키는 것으로 설명한다. 그리고, 아래에서는, 설명의 편의상, 클라이언트 장치(100)에 설치된 애플리케이션(채팅 프로그램)을 "클라이언트(C)"라고 명명한다. However, hereinafter, it will be described that an application (chat program) installed in the
본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스는 본 발명에서 정하는 프로토콜에 의해 구현될 수 있다. 이러한 프로토콜에는 데이터 전달 방식(메시지 전달 방식), 데이터 포맷 등에 대한 규칙이 정의된다. 채팅 서비스의 예를 설명하기에 앞서, 전술한 프로토콜을 도 6 내지 도 8을 참조하여 먼저 설명한다. Client-based chat service according to an embodiment of the present invention can be implemented by the protocol specified in the present invention. These protocols define rules for data delivery methods (message delivery methods), data formats, and the like. Before explaining an example of the chat service, the above-described protocol will be described first with reference to FIGS. 6 to 8.
도 6은 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하기 위한 프로토콜에 따른 메시지 송신 절차 및 메시지 수신 절차를 나타낸 도면이다. 6 is a diagram illustrating a message transmission procedure and a message reception procedure according to a protocol for providing a client-based chat service according to an embodiment of the present invention.
본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하기 위한 프로토콜은 데이터 전달 방식에 대한 규칙을 정의하는데, 데이터 전달 방식에 대한 규칙은, 클라이언트(C)가 채팅 서버(S)로 메시지를 송신하는 메시지 송신 절차에 대한 규칙과, 클라이언트(C)가 채팅 서버(S)로부터 메시지를 수신하는 메시지 수신 절차에 대한 규칙으로 나눌 수 있다. 이러한 메시지 송신 절차와 메시지 수신 절차는 요청(Request)-응답(Response) 방식으로 이루어질 수 있다. The protocol for providing a client-based chat service according to an embodiment of the present invention defines a rule for a data delivery method, wherein the rule for the data delivery method is that the client C sends a message to the chat server S. The rule for the message transmission procedure can be divided into a rule for the message reception procedure that the client (C) receives a message from the chat server (S). Such a message transmission procedure and a message reception procedure may be performed in a request-response manner.
메시지 송신 절차를 나타낸 도 6의 (a)를 참조하면, 클라이언트(C)는 사용자에 의해 메시지가 입력되면 입력된 메시지를 메시지 헤더와 함께 패키징하여 패키지 데이터를 생성하고, 이렇게 생성된 패키지 데이터를 메시지 전달 요청 데이터(REQUEST)로서 채팅 서버(S)로 송신한다(S11). 채팅 서버(S)는 클라이언트(C)로부터 메시지가 패키징된 패키지 데이터를 수신하면 메시지 저장 공간에 저장하고(S12), 메시지 전달 응답 데이터를 해당 클라이언트(C)로 송신한다(S13).Referring to FIG. 6 (a) illustrating a message transmission procedure, when a message is input by a user, the client C packages the input message with a message header to generate package data, and then generates the package data. The data is transmitted to the chat server S as delivery request data REQUEST (S11). When the chat server S receives the package data in which the message is packaged from the client C, the chat server S stores the message data in the message storage space (S12), and transmits the message delivery response data to the corresponding client C (S13).
메시지 수신 절차를 나타낸 도 6의 (b)를 참조하면, 전술한 메시지 송신 절차에 따라, 채팅 서버(S)가 메시지 저장 공간에 패키지 데이터를 저장해놓은 상태에서, 클라이언트(C)가 자신이 가져올 패키지 데이터(메시지)가 있는지를 물어보고 요청하기 위하여 클라이언트(C)에 대응되는 식별정보인 수신자 정보를 포함하는 메시지 요청 데이터를 채팅 서버(S)로 송신한다(S21). 채팅 서버(S)는 메시지 요청 데이터를 수신하여 메시지 요청 데이터에 포함된 수신자 정보를 확인하여 확인된 수신지 정보가 수신자 리스트에 포함되어 있는 패키지 데이터가 메시지 저장 공간에 저장되어 있는지를 확인하여, 확인된 패키지 데이터를 메시지 저장 공간에서 추출하여(S22), 추출된 패키지 데이터를 메시지 응답 데이터로서 클라이언트(C)로 송신한다(S23). Referring to (b) of FIG. 6, which shows a message receiving procedure, according to the above-described message transmission procedure, the client C receives a package to which the client C retrieves while the chat server S stores the package data in the message storage space. In order to request and request whether there is data (message), message request data including receiver information, which is identification information corresponding to the client C, is transmitted to the chat server S (S21). The chat server (S) receives the message request data and checks the receiver information included in the message request data to check whether the package data including the confirmed destination information in the recipient list is stored in the message storage space. The extracted package data is extracted from the message storage space (S22), and the extracted package data is transmitted to the client C as message response data (S23).
도 7은 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하기 위한 프로토콜에 따른 데이터 포맷의 규칙을 설명하기 위한 도면이다. FIG. 7 illustrates a rule of a data format according to a protocol for providing a client-based chat service according to an exemplary embodiment of the present invention.
도 7의 (a)을 참조하면, 클라이언트(C)가 채팅 서버(S)로 송신하는 메시지 전달 요청 데이터로서의 패키지 데이터는, 송신자 정보, 수신자 리스트, 메시지 타입 정보 등을 포함하는 메시지 헤더와, 사용자에 의해 실제로 입력된 메시지를 포함한다. 메시지 헤더에는 그룹 정보가 선택적으로 포함될 수 있다. Referring to FIG. 7A, package data as message delivery request data transmitted from the client C to the chat server S includes a message header including sender information, a recipient list, message type information, and the like. Contains the message actually entered by The message header may optionally include group information.
도 7의 (b)를 참조하면, 클라이언트(C)가 메시지 전달 요청 데이터에 대하여 채팅 서버(S)로부터 수신하는 메시지 전달 응답 데이터는, 메시지 전달 요청 데이터 수신 처리 결과에 대한 결과 코드 및 결과 정보 등을 포함할 수 있다. Referring to FIG. 7B, the message delivery response data that the client C receives from the chat server S with respect to the message delivery request data includes a result code, result information, etc. for the message delivery request data reception processing result. It may include.
도 7의 (c)를 참조하면, 클라이언트(C)가 채팅 서버(S)로 송신하는 메시지 요청 데이터는, 클라이언트(C)에 대응되는 식별정보로서의 수신자 정보 등을 포함한다. Referring to FIG. 7C, the message request data transmitted from the client C to the chat server S includes recipient information as identification information corresponding to the client C, and the like.
도 7의 (d)를 참조하면, 클라이언트(C)가 메시지 요청 데이터에 대하여 채팅 서버(S)로부터 수신하는 메시지 응답 데이터는, 채팅 서버(S)가 메시지 전달 요청 데이터로서의 패키지 데이터를 수신하여 어떠한 가공 처리 없이 저장해둔 것으로서, 메시지 전달 요청 데이터로서의 패키지 데이터와 동일한 데이터 포맷을 갖는다. Referring to FIG. 7D, the message response data that the client C receives from the chat server S with respect to the message request data is received by the chat server S by receiving package data as the message delivery request data. It is stored without processing, and has the same data format as package data as message transfer request data.
도 8은 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하기 위한 프로토콜에 따른 메시지 타입 정보를 예시적으로 정의한 도면이다. 8 is a diagram exemplarily defining message type information according to a protocol for providing a client-based chat service according to an embodiment of the present invention.
도 8을 참조하면, 메시지 헤더에 포함되는 메시지 타입 정보는, 메시지의 타입을 정의한 정보로서, 초대 메시지 타입 정보(M01), 실제로 채팅하는 내용에 관련된 일반 메시지 타입 정보(M02), 나가기 메시지 타입 정보(M03) 등을 포함할 수 있다. 이외에도, 초대 수락, 초대 거절 등 채팅에 필요한 각종 기능에 대한 메시지 타입 정보가 추가로 더 정의될 수도 있다. Referring to FIG. 8, the message type information included in the message header is information defining the type of the message. The message type information includes invitation message type information M01, general message type information M02 related to the actual chatting content, and exit message type information. (M03) and the like. In addition, message type information about various functions required for chatting, such as accepting an invitation or rejecting an invitation, may be further defined.
이하에서는, 전술한 프로토콜을 이용하여 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 예를 도 9 내지 도 15를 참조하여 설명한다. Hereinafter, an example of providing a client-based chat service according to an embodiment of the present invention using the aforementioned protocol will be described with reference to FIGS. 9 to 15.
도 9는 클라이언트 기반의 채팅 서비스를 이루어지는 환경을 나타낸 도면이다. 이하에서는, 도 9에 도시된 바와 같이, 클라이언트 장치(100)로서 스마트폰을 소유한 3명의 사용자(사용자 1, 사용자 2, 사용자 3)가 채팅하는 상황을 가정한다. 그리고, 사용자 1은 최초로 채팅을 하고자 하는 사용자이다. 9 is a diagram illustrating an environment for implementing a client-based chat service. Hereinafter, as illustrated in FIG. 9, it is assumed that three users (
도 9에 도시된 바와 같이, 3대의 스마트폰은 와이파이(WiFi) 망, 이동통신망, 인터넷 망 등의 네트워크(120)를 통해 채팅 서버(S)와 연결되어 통신할 수 있다. As illustrated in FIG. 9, three smartphones may communicate with the chat server S through a
도 9에 도시된 바와 같이, 3명의 사용자가 각각 소유한 스마트폰에는 본 발명의 실시예에 따른 클라이언트 기반의 채팅 서비스를 제공하는 방법을 실행시킬 수 있는 애플리케이션(프로그램)이 설치되어 있다. 그리고, 3대의 스마트폰에 각각 설치된 애플리케이션은 채팅 서버(S)와 연동하는 클라이언트로서 C1, C2, C3이라고도 한다. As shown in FIG. 9, each smartphone owned by three users is provided with an application (program) capable of executing a method of providing a client-based chat service according to an embodiment of the present invention. In addition, the applications installed in each of the three smartphones are also referred to as C1, C2, and C3 as a client interworking with the chat server (S).
도 9를 참조하면, 사용자 1이 채팅 서비스를 이용하기 위해 해당 애플리케이션을 실행시키면, 애플리케이션(C1)은 도 9에 도시된 바와 같이 채팅 화면을 디스플레이한다. 그리고, 사용자 2 및 사용자 3의 스마트폰에는 설치된 해당 애플리케이션이 백그라운드에서 실행되고 있을 수도 있다. Referring to FIG. 9, when
그리고, 애플리케이션(C1)은 사용자 초대 UI(User Interface)를 제공하는데, 사용자 1이 사용자 2 및 사용자 3과 채팅하기 위하여 상대방 찾기 버튼을 누르면 스마트폰에 저장된 연락처로부터 사용자 2 및 사용자 3의 전화번호(클라이언트 장치에 대응되는 식별정보의 일 예임)를 불러올 수 있으며, 이후 초대 버튼을 누르면 사용자 2 및 사용자 3을 초대할 수 있다. In addition, the application C1 provides a user invitation UI (User Interface). When the
이러한 채팅 상대방 초대 절차를 도 10 및 도 11을 참조하여 설명한다. 단, 이하 도면에서 데이터 필드 내에 기재된 U1, U2, U3는 사용자 1의 스마트폰(클라이언트 장치), 사용자 2의 스마트폰(클라이언트 장치), 사용자 3의 스마트폰(클라이언트 장치)에 각각 대응되는 식별정보이며, 이는 전화번호일 수도 있고, 전화번호에 대응되는 사용자 정보(예: ID, 별명 등) 등일 수도 있다. This chat counterpart invitation procedure will be described with reference to FIGS. 10 and 11. However, in the following drawings, U1, U2, and U3 described in the data field correspond to identification information corresponding to the user's smartphone (client device), the user's smartphone 2 (client device), and the user 3's smartphone (client device), respectively. This may be a phone number or user information (eg, ID, nickname, etc.) corresponding to the phone number.
전술한 바에 따라 사용자가 초대할 사용자를 설정하고 초대 버튼을 누르면, C1은 초대 기능을 수행한다. 이러한 초대 기능은 프로토콜에서 정의된 메시지 송신 절차(도 10)와 메시지 수신 절차(도 11)에 따라 실행된다. As described above, when the user sets a user to invite and presses the invite button, C1 performs an invitation function. This invitation function is executed according to the message transmission procedure (FIG. 10) and the message reception procedure (FIG. 11) defined in the protocol.
도 10을 참조하면, C1은 U2 및 U3를 포함하는 수신자 리스트를 설정하고, U1을 송신자 정보로서 설정하며, 그룹 정보를 GO1로 설정하고, 메시지 타입 정보를 M01(초대 메시지 타입 정보)로 설정하고, 이렇게 설정된 송신자 정보, 수신자 리스트, 그룹 정보, 메시지 타입 정보를 포함하는 메시지 헤더와, "초대합니다" 등의 기본 내용이나 사용자에 의해 입력된 내용의 메시지(M)를 패키징하여 패키지 데이터(1000)를 생성하고, 생성된 패키지 데이터(1000)를 메시지 전달 요청 데이터로서 채팅 서버(S)로 송신한다. Referring to FIG. 10, C1 sets a recipient list including U2 and U3, sets U1 as sender information, sets group information to GO1, sets message type information to M01 (invitation message type information), and
도 10을 참조하면, 채팅 서버(S)는 C1으로부터 수신한 메시지 전달 요청 데이터로서의 패키지 데이터(1000)를 메시지 저장 공간에 저장한다. 이후, 채팅 서버(S)는 결과 코드(Result Code, RC)와 결과 정보(Result Information, RI)를 포함하는 메시지 전달 응답 데이터(1010)를 C1으로 송신한다. Referring to FIG. 10, the chat server S
전술한 바에 따라, 채팅 서버(S)의 메시지 저장 공간에 메시지 전달 요청 데이터인 패키지 데이터(1000)가 저장된 이후, 메시지 전달 요청 데이터인 패키지 데이터(1000)에서의 수신자 리스트에 설정된 U2 및 U3 각각에 대응되는 C2 및 C3가 메시지 전달 요청 데이터인 패키지 데이터(1000)를 수신하는 메시지 수신 절차는 도 11을 참조하여 설명한다. As described above, after the
도 11을 참조하면, C2는 C2에 대응되는 식별정보인 U2를 수신자 정보로 설정하고 이러한 수신자 정보를 포함하는 메시지 요청 데이터(1110)를 채팅 서버(S)로 송신한다. 이에 따라, 채팅 서버(S)는 메시지 저장 공간에 저장된 패키지 데이터(1000)에 패키징된 메시지 헤더에 포함된 수신자 리스트에 메시지 요청 데이터(1110)에 포함된 수신자 정보인 U2가 포함되어 있는지를 확인하여, 포함되어 있다면, 메시지 저장 공간에 저장된 패키지 데이터(1000)를 메시지 응답 데이터로서 C2로 송신한다. 이러한 방식에 따라 C2는 채팅 서버(S)에 저장된 패키지 데이터(1000)를 메시지 응답 데이터로서 수신할 수 있다. Referring to FIG. 11, C2 sets U2, which is identification information corresponding to C2, as receiver information and transmits
이와 동일한 방식으로, C3도 C3에 대응되는 식별정보인 U3을 수신자 정보로 설정하고 이러한 수신자 정보를 포함하는 메시지 요청 데이터(1120)를 채팅 서버(S)로 송신하여 채팅 서버(S)에 저장된 패키지 데이터(1000)를 메시지 응답 데이터로서 수신할 수 있다. In the same manner, C3 sets U3, which is identification information corresponding to C3, as recipient information, and transmits the
도 11의 절차에 따라 패키지 데이터(1000)를 수신한 C2 및 C3는, 패키지 데이터(1000)에 패키징된 메시지의 내용(초대 내용)을 팝업 형태나 채팅 화면을 띄어서 표시하고, 사용자는 이러한 초대 사실을 확인할 수 있다. 이때, C2 및 C3는 초대 승낙 또는 초대 거절을 위한 사용자 인터페이스를 제공할 수도 있다. After receiving the
이러한 절차에 따라, 사용자 1, 사용자 2 및 사용자 3은 채팅할 수 있는 상태가 된다. 이후, 실제로 채팅이 진행되면서, 실질적인 채팅 내용의 메시지(일반 메시지 타입의 메시지)가 C1, C2 및 C3 간에 전달되는 기능에 대하여 도 12 및 도 13을 참조하여 설명한다. 이러한 메시지 전달 기능도 프로토콜에서 정의된 메시지 송신 절차(도 12)와 메시지 수신 절차(도 13)에 따라 실행된다. According to this procedure,
도 12를 참조하면, 사용자 1, 사용자 2 및 사용자 3이 채팅을 하던 중, 사용자 2가 메시지(일반 메시지)를 입력하면, C2는 송신자 정보를 U2로 설정하고 U1 및U3를 포함하는 수신자 리스트를 설정하며 그룹 정보를 G01로 설정하고 메시지 타입 정보를 MO2(일반 메시지 타입 정보)로 설정하여 메시지 헤더를 만들어 입력된 메시지와 패키징하여 패키징 데이터(1200)를 생성한다. Referring to FIG. 12, when
도 12를 참조하면, 이후, C2는 생성된 패키징 데이터(1200)를 메시지 전달 요청 데이터로서 채팅 서버(S)로 송신한다. 이에 따라, 채팅 서버(S)는 패키징 데이터(1200)를 메시지 저장 공간에 저장하고, 결과 코드(RC) 및 결과 정보(RI)를 포함하는 메시지 전달 응답 데이터(1210)를 C2로 송신한다. Referring to FIG. 12, C2 then transmits the generated
도 13을 참조하면, 패키지 데이터(1200)가 채팅 서버(S)의 메시지 저장 공간에 저장된 상태에서, 채팅 참여자 중에서 패키지 데이터(1200)를 생성한 클라이언트인 C2이외의 다른 클라이언트인 C1 및 C3는 자신이 가져올 패키지 데이터가 있는지를 확인하여 가져오기 위하여 메시지 요청 데이터(1310, 1320)를 채팅 서버(S)로 송신한다. Referring to FIG. 13, while the
이때, C1은 C1에 대응되는 식별정보인 U1이 수신자 정보로 설정된 메시지 요청 데이터(1310)를 채팅 서버(S)로 송신하고, C3는 C3에 대응되는 식별정보인 U3이 수신자 정보로 설정된 메시지 요청 데이터(1320)를 채팅 서버(S)로 송신한다. At this time, C1 transmits the
채팅 서버(S)는 C1으로부터 수신한 메시지 요청 데이터(1310)에 포함된 수신자 정보를 U1으로 확인하여 U1이 수신자 리스트에 포함된 패키지 데이터(1200)를 추출하여 C1으로 송신한다. The chat server S checks the receiver information included in the
또한, 채팅 서버(S)는 C3으로부터 수신한 메시지 요청 데이터(1320)에 포함된 수신자 정보를 U3으로 확인하여 U3이 수신자 리스트에 포함된 패키지 데이터(1200)를 추출하여 C3으로 송신한다. In addition, the chat server S confirms the receiver information included in the
C1 및 C3는 수신한 패키지 데이터(1200)에 패키징된 메시지 헤더에 포함된 메시지 타입 정보가 일반 메시지 타입 정보(M02)인 것을 확인하고, 패키지 데이터(1200)에 패키징된 메시지를 채팅 화면에 출력한다. C1 and C3 confirm that the message type information included in the message header packaged in the received
이와 같이, 메시지 전송 절차 및 메시지 수신 절차를 통해 C1, C2, C3 간에 메시지가 전달됨으로써 채팅이 이루어질 수 있으며, 채팅이 이루어지고 있는 동안, 참여자 중에 어느 사용자가 채팅을 중단할 수도 있다. In this manner, a message may be transmitted by transmitting a message between C1, C2, and C3 through a message transmission procedure and a message reception procedure. During the chat, any user of the participant may stop the chat.
이러한 나가기 기능을 제공하기 위하여, 애플리케이션은 나가기 기능을 제공하기 위한 나가기 버튼 등과 같은 사용자 인터페이스를 제공할 수 있다. 이하, 도 14 및 도 15를 참조하여 나가기 기능과 관련된 메시지 전달 절차(메시지 전송 및 메시지 수신 절차)에 대하여 설명한다. In order to provide such an exit function, the application may provide a user interface such as an exit button for providing an exit function. Hereinafter, a message delivery procedure (message transmission and message reception procedure) related to the exit function will be described with reference to FIGS. 14 and 15.
도 14를 참조하면, 사용자 3이 채팅을 그만 하고자 나가기 버튼을 눌러서 채팅을 중단하게 되면, C3은 송신자 정보를 U3으로 설정하고 수신자 리스트에 U1, U2를 포함시켜 설정하며, 메시지 타입 정보를 나가기 메시지 타입 정보인 M03으로 설정하여 메시지 헤더를 구성하고, 구성된 메시지 헤더와 "사용자 3은 채팅방에서 나갑니다" 등의 내용을 갖는 메시지를 패키징하여 패키징 데이터(1400)를 생성한다. Referring to FIG. 14, when user 3 stops chatting by pressing the exit button to stop chatting, C3 sets the sender information to U3 and includes U1 and U2 in the recipient list, and exits the message type information. The message header is configured by setting M03, which is the type information, and the
이후, C3는 생성된 패키징 데이터(1400)를 메시지 전달 요청 데이터로서 채팅 서버(S)로 송신한다. 이에 따라, 채팅 서버(S)는 메시지 저장 공간에 패키지 데이터(1400)를 저장해둔다. Thereafter, C3 transmits the generated
도 15를 참조하면, 패키지 데이터(1400)가 채팅 서버(S)의 메시지 저장 공간에 저장된 상태에서, 채팅 참여자 중에서 패키지 데이터(1400)를 생성한 클라이언트인 C3이외의 다른 클라이언트인 C1 및 C2는 자신이 가져올 패키지 데이터가 있는지를 확인하여 가져오기 위하여 메시지 요청 데이터(1510, 1520)를 채팅 서버(S)로 송신한다. Referring to FIG. 15, while the
이때, C1은 C1에 대응되는 식별정보인 U1이 수신자 정보로 설정된 메시지 요청 데이터(1510)를 채팅 서버(S)로 송신하고, C2는 C2에 대응되는 식별정보인 U2이 수신자 정보로 설정된 메시지 요청 데이터(1520)를 채팅 서버(S)로 송신한다. At this time, C1 transmits the
채팅 서버(S)는 C1으로부터 수신한 메시지 요청 데이터(1510)에 포함된 수신자 정보를 U1으로 확인하여 U1이 수신자 리스트에 포함된 패키지 데이터(1400)를 추출하여 C1으로 송신한다. The chat server S checks the receiver information included in the
또한, 채팅 서버(S)는 C2로부터 수신한 메시지 요청 데이터(1520)에 포함된 수신자 정보를 U2로 확인하여 U2가 수신자 리스트에 포함된 패키지 데이터(1400)를 추출하여 C2로 송신한다. In addition, the chat server S confirms the receiver information included in the
C1 및 C2는 수신한 패키지 데이터(1400)에 패키징된 메시지 헤더에 포함된 메시지 타입 정보가 나가기 메시지 타입 정보(M03)인 것을 확인하고, 패키지 데이터(1400)에 패키징된 메시지를 채팅 화면에 출력한다. 이에 따라, 사용자 1 및 사용자 2는 사용자 3이 채팅방을 나간 것을 확인할 수 있다.C1 and C2 confirm that the message type information included in the message header packaged in the received
사용자 3이 나가기 전에는 3명의 사용자가 그룹 채팅을 하였고, 사용자 3이 나가고 난 이후에는 2명의 사용자가 1-1 채팅을 할 수 있다. 그룹 채팅일 때와 1-1 채팅일 때의 클라이언트(C)와 채팅 서버(S)가 수행해야 하는 동작에는 전혀 차이가 없다. 1-1 채팅에서는 그룹 정보가 미설정되고 수신자 리스트에 하나의 식별정보만이 설정된다는 점만 다를 뿐이다. Before User 3 left, three users had a group chat, and after User 3 left, two users could have a 1-1 chat. There is no difference in the actions that the client C and the chat server S should perform during group chat and 1-1 chat. The only difference is that in 1-1 chat, group information is not set and only one identification information is set in the recipient list.
이상에서 설명한 바와 같이 본 발명에 의하면, 모바일 환경에 적합한 클라이언트 기반의 채팅 서비스를 제공할 수 있다. As described above, according to the present invention, a client-based chat service suitable for a mobile environment can be provided.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 등이 포함될 수 있다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. In other words, within the scope of the present invention, all of the components may be selectively operated in combination with one or more. In addition, although all of the components may be implemented as one independent hardware, some or all of the components may be selectively combined to perform a part or all of the functions in one or a plurality of hardware. As shown in FIG. Codes and code segments constituting the computer program may be easily inferred by those skilled in the art. Such a computer program may be stored in a computer readable storage medium and read and executed by a computer, thereby implementing embodiments of the present invention. As a storage medium of the computer program, a magnetic recording medium, an optical recording medium, or the like can be included.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.It is also to be understood that the terms such as " comprises, "" comprising," or "having ", as used herein, mean that a component can be implanted unless specifically stated to the contrary. But should be construed as including other elements. All terms, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Commonly used terms, such as predefined terms, should be interpreted to be consistent with the contextual meanings of the related art, and are not to be construed as ideal or overly formal, unless expressly defined to the contrary.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.
Claims (22)
상기 패키지 데이터를 저장하는 메시지 저장부; 및
상기 수신자 리스트를 참조하여 상기 저장된 패키지 데이터를 상기 하나 이상의 제2클라이언트 장치로 송신하는 메시지 송신부를 포함하는 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 채팅 서버. A message header including sender information, identification information corresponding to the first client device, a recipient list including identification information corresponding to one or more second client devices, and message type information, and a message input from the first client device A message receiver configured to receive packaged package data from the first client device;
A message storage unit for storing the package data; And
And a message transmitter for transmitting the stored package data to the one or more second client devices by referring to the recipient list.
상기 메시지 송신부는,
상기 제2클라이언트 장치로부터 메시지 요청 데이터가 수신되면, 상기 제2클라이언트 장치에 대응되는 식별정보가 상기 수신자 리스트에 포함되어 있는지를 확인하여, 포함되어 있는 것으로 확인되면, 상기 제2클라이언트 장치로 상기 저장된 패키지 데이터를 송신하는 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 채팅 서버. The method of claim 1,
The message transmitter,
When the message request data is received from the second client device, it is checked whether identification information corresponding to the second client device is included in the recipient list, and if it is confirmed that the message is included, the stored information is stored in the second client device. Chat server providing a client-based chat service, characterized in that for transmitting the package data.
상기 메시지 송신부는,
상기 패키지 데이터가 저장되면 상기 수신자 리스트를 확인하여, 해당 제2클라이언트 장치로 상기 저장된 패키지 데이터를 송신하는 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 채팅 서버. The method of claim 1,
The message transmitter,
And if the package data is stored, confirming the recipient list, and transmitting the stored package data to the corresponding second client device.
제1클라이언트 장치에 대응되는 식별정보인 송신자 정보, 하나 이상의 제2클라이언트 장치에 각각 대응되는 식별정보를 포함하는 수신자 리스트 및 메시지 타입 정보를 포함하는 메시지 헤더와 상기 제1클라이언트 장치에서 입력된 메시지가 패키징된 패키지 데이터를 상기 제1클라이언트 장치로부터 수신하는 단계;
상기 패키지 데이터를 저장하는 단계; 및
상기 수신자 리스트를 참조하여 상기 저장된 패키지 데이터를 상기 하나 이상의 클라이언트 장치로 송신하는 단계를 포함하는 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 방법. In the chat server provides a client-based chat service,
A message header including sender information, identification information corresponding to the first client device, a recipient list including identification information corresponding to one or more second client devices, and message type information, and a message input from the first client device Receiving packaged package data from the first client device;
Storing the package data; And
And transmitting the stored package data to the one or more client devices with reference to the recipient list.
제2송신자 정보, 제2수신자 리스트 및 제2메시지 타입 정보를 포함하는 제2메시지 헤더와 제2메시지가 패키징된 제2패키지 데이터를 상기 채팅 서버로부터 수신하는 제2패키지 데이터 수신부; 및
상기 입력된 제1 메시지 및 상기 제2메시지를 채팅 화면에 출력하는 채팅 화면 제어부를 포함하는 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 클라이언트 장치. When the first message is input, the first message header including the first sender information, the first receiver list, and the first message type information and the inputted first message are packaged to generate first package data. A first package data transmitter for transmitting the first package data to the chat server;
A second package data receiver configured to receive from the chat server a second message header including a second sender information, a second receiver list, and a second message type information, and second package data in which a second message is packaged; And
And a chat screen controller configured to output the input first message and the second message to a chat screen.
상기 제1패키지 데이터 송신부는,
사용자 입력 또는 채팅 참여자 리스트를 토대로 하나 이상의 다른 클라이언트 장치에 각각 대응되는 식별정보를 포함하는 상기 제1수신자 리스트를 설정하고,
상기 하나 이상의 다른 클라이언트 장치와 상기 클라이언트 장치에 각각 대응되는 식별정보를 포함하는 상기 채팅 참여자 리스트를 관리하는 채팅 참여자 리스트 관리부를 더 포함하는 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 클라이언트 장치. The method of claim 5,
The first package data transmission unit,
Setting the first recipient list including identification information corresponding to one or more other client devices based on a user input or a chat participant list,
And a chat participant list manager configured to manage the chat participant list including identification information corresponding to the one or more other client devices and the client device, respectively.
상기 채팅 참여자 리스트 관리부는,
상기 제2메시지 타입 정보가 초대 메시지 타입 정보인 상기 제2패키지 데이터를 수신한 이후에, 상기 제2수신자 리스트를 토대로 새로운 클라이언트 장치에 대응되는 식별정보를 상기 채팅 참여자 리스트에 새로운 클라이언트 장치에 대응되는 식별정보를 추가하는 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 클라이언트 장치. The method according to claim 6,
The chat participant list management unit,
After receiving the second package data in which the second message type information is invitation message type information, identification information corresponding to a new client device based on the second recipient list corresponds to a new client device in the chat participant list. Client device for providing a client-based chat service, characterized in that for adding identification information.
상기 채팅 참여자 리스트 관리부는,
상기 제2메시지 타입 정보가 나가기 메시지 타입 정보인 상기 제2패키지 데이터를 수신한 이후에, 상기 제2송신자 정보인 특정 다른 클라이언트 장치에 대응되는 식별정보를 상기 채팅 참여자 리스트에서 삭제하는 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 클라이언트 장치. The method according to claim 6,
The chat participant list management unit,
After receiving the second package data in which the second message type information is the exit message type information, the identification information corresponding to a specific other client device as the second sender information is deleted from the chat participant list. Client devices that provide client-based chat services.
상기 제2패키지 데이터 수신부는,
상기 채팅 서버의 메시지 저장 공간에 가져올 상기 제2패키지 데이터가 있는지를 확인하기 위하여, 상기 클라이언트 장치에 대응되는 식별정보를 포함하는 메시지 요청 데이터를 상기 채팅 서버로 송신하여, 상기 제2패키지 데이터를 수신하되, 상기 제2패키지 데이터에서의 상기 제2수신자 리스트에는 상기 클라이언트 장치에 대응되는 식별정보가 포함된 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 클라이언트 장치. The method of claim 5,
The second package data receiver,
In order to confirm whether there is the second package data to be brought into the message storage space of the chat server, message request data including identification information corresponding to the client device is transmitted to the chat server to receive the second package data. Wherein, the second receiver list in the second package data client device for providing a client-based chat service, characterized in that the identification information corresponding to the client device.
상기 클라이언트 장치는,
애플리케이션 스토어 서버를 통해 설치된 애플리케이션을 실행시켜 클라이언트 기반의 채팅 서비스를 제공하는 모바일 단말기인 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 클라이언트 장치. The method of claim 5,
The client device,
Client device for providing a client-based chat service, characterized in that the mobile terminal for providing a client-based chat service by running the application installed through the application store server.
입력된 제1메시지를 채팅 화면에 출력하는 단계;
상기 제1메시지가 입력되면, 제1송신자 정보, 제1수신자 리스트 및 제1메시지 타입 정보를 포함하는 제1메시지 헤더와 상기 입력된 제1메시지를 패키징하여 제1패키지 데이터를 생성하는 단계;
상기 생성된 제1패키지 데이터를 채팅 서버로 송신하는 단계;
제2송신자 정보, 제2수신자 리스트 및 제2메시지 타입 정보를 포함하는 제2메시지 헤더와 제2메시지가 패키징된 제2패키지 데이터를 상기 채팅 서버로부터 수신하는 단계; 및
상기 제2메시지를 상기 채팅 화면에 출력하는 단계를 포함하는 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 방법. In the method that the client device provides a client-based chat service,
Outputting an input first message to a chat screen;
When the first message is input, packaging a first message header including first sender information, a first receiver list, and first message type information and the inputted first message to generate first package data;
Transmitting the generated first package data to a chat server;
Receiving, from the chat server, a second message header including a second sender information, a second receiver list, and a second message type information, and second package data in which a second message is packaged; And
And outputting the second message to the chat screen.
상기 제1송신자 정보는 상기 클라이언트 장치에 대응되는 식별정보이고, 상기 제1수신자 리스트는 하나 이상의 다른 클라이언트 장치에 각각 대응되는 식별정보를 포함하며,
상기 제2송신자 정보는 상기 하나 이상의 다른 클라이언트 장치 중 특정 다른 클라이언트 장치에 대응되는 식별정보이고, 상기 제2수신자 리스트는 상기 클라이언트 장치에 대응되는 식별정보를 포함하되,
상기 식별정보는 전화번호 또는 상기 전화번호와 대응되는 사용자 정보인 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 방법. The method of claim 11,
The first sender information is identification information corresponding to the client device, and the first receiver list includes identification information corresponding to one or more other client devices, respectively.
The second sender information is identification information corresponding to a specific other client device among the one or more other client devices, and the second receiver list includes identification information corresponding to the client device.
And the identification information is a telephone number or user information corresponding to the telephone number.
상기 생성하는 단계에서,
사용자 입력 또는 채팅 참여자 리스트를 토대로 하나 이상의 다른 클라이언트 장치에 각각 대응되는 식별정보를 포함하는 상기 제1수신자 리스트를 설정하는 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 방법.The method of claim 11,
In the generating step,
And setting the first recipient list including identification information corresponding to one or more other client devices based on a user input or a chat participant list.
상기 제2패키지 데이터를 수신한 이후에, 상기 제2메시지 타입 정보가 초대 메시지 타입 정보인 경우, 상기 제2수신자 리스트를 토대로 상기 제2패키지 데이터가 수신되기 이전에 관리되고 있던 채팅 참여자 리스트에 새로운 클라이언트 장치에 대응되는 식별정보를 추가하는 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 방법.The method of claim 13,
After receiving the second package data, if the second message type information is invitation message type information, a new message is added to the chat participant list that was managed before the second package data was received based on the second recipient list. Method for providing a client-based chat service, characterized in that for adding the identification information corresponding to the client device.
상기 제2패키지 데이터를 수신한 이후에, 상기 제2메시지 타입 정보가 나가기 메시지 타입 정보인 경우, 상기 제2송신자 정보인 특정 다른 클라이언트 장치에 대응되는 식별정보를 상기 제2패키지 데이터가 수신되기 이전에 관리되고 있던 채팅 참여자 리스트에서 삭제하는 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 방법.The method of claim 13,
After receiving the second package data, if the second message type information is the exit message type information, before the second package data is received, identification information corresponding to a specific other client device that is the second sender information is received. A method for providing a client-based chat service, the method comprising: deleting from a chat participant list managed at.
상기 제1메시지 타입 정보 및 상기 제2메시지 타입 정보 각각은,
초대 메시지 타입 정보, 일반 메시지 타입 정보 및 나가기 메시지 타입 정보 중 하나인 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 방법. The method of claim 11,
Each of the first message type information and the second message type information,
Method of providing a client-based chat service, characterized in that one of the invitation message type information, general message type information and the exit message type information.
상기 수신하는 단계는,
상기 채팅 서버로부터 가져올 상기 제2패키지 데이터가 있는지를 확인하기 위하여, 상기 클라이언트 장치에 대응되는 식별정보를 포함하는 메시지 요청 데이터를 상기 채팅 서버로 송신하여 상기 제2패키지 데이터를 상기 채팅 서버로부터 수신하고, 상기 제2패키지 데이터에서의 상기 제2수신자 리스트에는 상기 클라이언트 장치에 대응되는 식별정보가 포함된 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 방법. The method of claim 11,
Wherein the receiving comprises:
In order to confirm whether there is the second package data to be fetched from the chat server, message request data including identification information corresponding to the client device is transmitted to the chat server to receive the second package data from the chat server. And the identification information corresponding to the client device is included in the second recipient list in the second package data.
상기 클라이언트 장치는,
애플리케이션 스토어 서버를 통해 설치된 애플리케이션을 실행시켜 클라이언트 기반의 채팅 서비스를 제공하는 모바일 단말기인 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 방법. The method of claim 11,
The client device,
A method of providing a client-based chat service, comprising: a mobile terminal for executing a client-based chat service by executing an application installed through an application store server.
상기 제1메시지 헤더 및 상기 제2메시지 헤더 각각은,
같이 채팅을 하고 있는 사용자의 그룹 또는 메시지 전달 범위에 있는 사용자의 그룹을 의미하는 채팅 그룹을 식별하기 위한 그룹 정보를 더 포함하는 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 방법. The method of claim 11,
Each of the first message header and the second message header,
A method for providing a client-based chat service, characterized by further comprising group information for identifying a chat group, which means a group of users who are chatting with each other or a group of users within a message delivery range.
상기 패키지 데이터를 수신하여 저장해두고, 상기 수신자 리스트를 참조하여 상기 패키지 데이터를 전달하는 채팅 서버; 및
상기 패키지 데이터를 전달받고, 상기 패키지 데이터에 패키징된 메시지를 채팅 화면에 출력하는 제2클라이언트 장치
를 포함하되, 상기 수신자 리스트는 상기 제2클라이언트 장치에 대응되는 식별정보를 포함하는 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 시스템. A first client device configured to package a message header including sender information, a recipient list, and message type information and package the input message to generate and transmit package data, and to output the input message to a chat screen;
A chat server which receives and stores the package data and delivers the package data with reference to the recipient list; And
A second client device receiving the package data and outputting a message packaged in the package data to a chat screen;
Including, Wherein the recipient list System for providing a client-based chat service comprising the identification information corresponding to the second client device.
상기 제2클라이언트 장치는,
상기 패키지 데이터에 패키징된 메시지 헤더에 포함된 상기 송신자 정보와 상기 수신자 리스트를 토대로 채팅 참여자 리스트를 파악하여 새로운 참여자를 추가하거나 기존 참여자를 삭제하는 것을 특징으로 하는 클라이언트 기반의 채팅 서비스를 제공하는 시스템. 21. The method of claim 20,
The second client device,
System for providing a client-based chat service, characterized in that to identify a chat participant list based on the sender information and the recipient list included in the message header packaged in the package data to add a new participant or delete an existing participant.
입력된 제1메시지를 채팅 화면에 출력하는 기능과,
상기 제1메시지가 입력되면, 제1송신자 정보, 제1수신자 리스트 및 제1메시지 타입 정보를 포함하는 제1메시지 헤더와 상기 입력된 제1메시지를 패키징하여 제1패키지 데이터를 생성하는 기능과,
상기 생성된 제1패키지 데이터를 채팅 서버로 송신하는 기능과,
제2송신자 정보, 제2수신자 리스트 및 제2메시지 타입 정보를 포함하는 제2메시지 헤더와 제2메시지가 패키징된 제2패키지 데이터를 상기 채팅 서버로부터 수신하는 기능과,
상기 제2메시지를 상기 채팅 화면에 출력하는 기능을 구현하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체. A recording medium having recorded thereon a program for executing a method of providing a client-based chat service,
A function of outputting the inputted first message on the chat screen;
When the first message is input, a first message header including first sender information, a first receiver list, and first message type information and a package of the inputted first message to generate first package data;
Transmitting the generated first package data to a chat server;
Receiving from the chat server a second message header including a second sender information, a second recipient list, and a second message type information, and second package data in which the second message is packaged;
And a computer-readable recording medium having recorded thereon a program implementing the function of outputting the second message to the chat screen.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110047903A KR101292002B1 (en) | 2011-05-20 | 2011-05-20 | Method, client device, chatting server and recording medium for providing client-based chatting service |
PCT/KR2012/003655 WO2012161437A2 (en) | 2011-05-20 | 2012-05-10 | Method for providing a client-based chatting service, client device, chatting server, system, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110047903A KR101292002B1 (en) | 2011-05-20 | 2011-05-20 | Method, client device, chatting server and recording medium for providing client-based chatting service |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120129564A true KR20120129564A (en) | 2012-11-28 |
KR101292002B1 KR101292002B1 (en) | 2013-08-01 |
Family
ID=47217844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110047903A KR101292002B1 (en) | 2011-05-20 | 2011-05-20 | Method, client device, chatting server and recording medium for providing client-based chatting service |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101292002B1 (en) |
WO (1) | WO2012161437A2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7650380B2 (en) | 2004-02-12 | 2010-01-19 | International Business Machines Corporation | System and method for messaging and collaborating in an intranet environment |
FI20050092A0 (en) * | 2004-09-08 | 2005-01-28 | Nokia Corp | Group details for group services |
US20090063638A1 (en) * | 2007-08-29 | 2009-03-05 | Lei Guo | Method and Apparatus for Processing Messages in Messaging System |
KR101397633B1 (en) * | 2007-12-05 | 2014-05-22 | 주식회사 케이티 | System and method for providing instatnt message service in ims |
-
2011
- 2011-05-20 KR KR1020110047903A patent/KR101292002B1/en not_active IP Right Cessation
-
2012
- 2012-05-10 WO PCT/KR2012/003655 patent/WO2012161437A2/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2012161437A3 (en) | 2013-01-17 |
WO2012161437A2 (en) | 2012-11-29 |
KR101292002B1 (en) | 2013-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11381415B2 (en) | Method and apparatus for providing remote user interface services | |
CN107018147B (en) | Internet of things communication method and system and gateway module | |
KR101077739B1 (en) | User initiated invite for automatic conference participation by invitee | |
US20110307565A1 (en) | Group messaging integration system, method and apparatus | |
CN109729005A (en) | Message treatment method, device, computer equipment and storage medium | |
JP7430821B2 (en) | Information interaction methods, devices, servers, systems and storage media | |
US10999332B2 (en) | User-centric connections to a location comprising digital collaboration tools | |
CN109728996B (en) | Communication information display method, user equipment, storage medium and device | |
CN105704001A (en) | WeChat server message distribution method and WeChat server message distribution system | |
US11489883B2 (en) | User-centric connections to a location comprising digital collaboration tools | |
WO2014187397A1 (en) | Multimedia message publishing method and device | |
EP2707995B1 (en) | Method and system for managing voice mails in a universal plug and play network environment | |
KR101196657B1 (en) | Messaging Systems Having Function of Compatible and Parameters between the Social-Network Service | |
KR101292002B1 (en) | Method, client device, chatting server and recording medium for providing client-based chatting service | |
KR102527601B1 (en) | Method for chatting messages by topic based on subscription channel reference in server and user device | |
US11159476B1 (en) | Methods and apparatuses for managing data integration between an external email resource and a group-based communication system | |
KR101804054B1 (en) | Message Server Managing Message And Method of Thereof | |
KR100784225B1 (en) | Method for providing service based on phone book address in presence system and the system thereof | |
US11916977B2 (en) | User-centric connections to a location comprising digital collaboration tools | |
KR101325233B1 (en) | Communication system and method by using integration communication program | |
KR20190136499A (en) | Apparatus and method for messaging service | |
CN103119892B (en) | The system and method for meeting message transmission is carried out between telephone device and the wide area networking devices that universal plug and play enables | |
US20220353217A1 (en) | Online meeting phone and chat connectivity | |
CN108173910B (en) | Method and system for managing application | |
Pendov | Universal Interpersonal Communication Application Prototyping |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160713 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170612 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |