C#.NET Q&A

[C#] 메신저 프로그램 구현 시 밍구 평점: 없음 조회: 405
TCP 통신을 이용해서 1:1메신저 프로그램을 구현하려는데

클라이언트가 채팅 시작을 누르면!

서버는 대기화면(form2)에서 채팅 폼(form3)이 띄어지게 하고싶습니다.

간단히 말하면 네이트온에서 친구에서 채팅을 걸면 상대방 친구에서 채팅창이 띄어지는 것과 같이요.

이 방법을 잘모르겟습니다...  
태그 : #메신저 #C# #C#질문 #TCP
작성자 정보
밍구
Level 6
 [EXP.4/14]

메일:  비공개
글등록 +12 36 덧글등록 +3 24
자기소개
hh
글 공유하기 |
  tweet facebook
2018-06-07 오후 12:46:54
나도한마디
사용자
스포너            [2018-06-07]
Level 22
 [EXP.45/50]
메신저를 간단하게 구성할라치면 간단하게 구성할 수 있고, 실제 서비스로 사용할 수준으로 만드려고 하면 반드시 패킷 설계를 해야 합니다.
호기심으로 만드려는 것인지 회사의 요구로 만드는것인지요?
사용자
밍구            [2018-06-07]
Level 6
 [EXP.4/14]
C#으로 간단하게 채팅요청을 하면 상대방화면에 채팅창이 띄어지도록 하고싶습니다. 학교에서 프로젝트를 진행하는데 이 부분이 잘 진행이 안되서 질문을 올렸습니다.ㅠㅠ
사용자
스포너            [2018-06-07]
Level 22
 [EXP.45/50]
여기서 서버는 채팅 서버를 의미하나요? 그러니까 한개의 서버에 다수의 클라이언트가 접속하여 채팅나눌 수 있는것인가요?

TCPListener로 접속대기를 한다고 채팅서버라고 하지는 않습니다. 채팅서버는 말 그대로 다수의 채팅 사용자가 접속할 수 있도록 접속관리 권한관리 방관리, 전송관리 등 채팅 일련의 기능이 있을 떄 채팅서버라고 해요

단순히 TCP연결을 해서 1:1채팅(서버? 와 클라이언트가)하는 것이라면,
그리고 단순히 연결이 되었을 때 방이(form3)이 뜨는 것이라면,

TCPListener에서 연결이 Accept되었을 때 폼을 띄우는 방법이 있습니다. 이때 블럭되지 않게 AcceptTcpClientAsync 메소드를 사용하는게 좋습니다. async/await는 검색하면 금방 나오니 참고하면 되고,
await AcceptTcpClientAsync의 결과가 TcpClient이므로, 방 띄울 때 인자로 넘겨주고, 그 둘을 통신하게 하면 됩니다


글리스트
c# 이미지 캡쳐 프로그램 질문[1]  notorious
비주얼베이직에서 쓰던 for문인데 c#에서 알맞게 쓰드록 좀 도와주셔요 ㅠㅠ(프로그램입문3일째..)[1]  석유왕자
pictureBox 이미지 불러오기 ! [1]  문도
C#에서 C++ DLL 호출시 질문드립니다. 파일첨부 키모
Ring 저만 없나요? ( 이미지 첨부 )[1]+1  insurang
c# 이벤트 실행시 label text값 변경 질문이요 ! [3]+5  문도
BackgroundThread를 이용 중에 질문입니다.[2]+2  D.Dobob
IIS 파일 업로드 용량제한?  비베씨샾
버튼이미지 질문드립니다. [2]+1  제스
윈폼 단축키설정   비베씨샾
 ★현재글->   [C#] 메신저 프로그램 구현 시[1]+2  밍구
Microsoft Excel 14.0 Object Library 사용하려면 서버에 엑셀이 설치되어야 하나요?[1]+1  팔개
비동기식 통신에서 데이터 전송 관한 질문  Sad7Dayz
C# mybatis 질문있습니다.  매드포닷넷
C++dll C#에서 사용하는데 보호된 메모리 오류나는데 어떻게 해야하나요??ㅜ[1]  초보개발자
작업스케줄러대한 질문입니다.  jjin96
TCP사용도중 문제가 생겼습니다.. 도움을 주실분 계신가요? 파일첨부 Beoms
Tcp 통신에 대한 질문입니다.[1]+1  Sad7Dayz
C# 시리얼포트 수신 및 출력이 안됩니다. [1]  Line
시리얼 포트 통신 질문있습니다.[1]+2  Line
C# TCP 데이터 전송[3]+7  밍구