2012-09-05 2 views
0

이는 TCP/IP 리스너가 클라이언트 연결 요청을 받으면, 우리는 VB.Net 응용 프로그램 또는 Windows 응용 프로그램을 개발 http://www.codeproject.com/KB/vb/winsock_revamped.aspxTCP/IP 리스너 웹 애플리케이션 .NET

링크 - 참조 된, 클라이언트 응용 프로그램은 VB6 프로그래밍 언어를 사용하여 개발. 창 채팅 서버는 위 링크의 샘플 코드를 기반으로 개발되었습니다.

내 응용 프로그램은 VB6 응용 프로그램에서 주문을받는 호텔 데이터베이스입니다. 우리는 모든 기능, 데이터베이스 등이있는 기존 VB6 응용 프로그램을 가지고 있었기 때문에 VB6 PC는 LAN의 노드에 대해 TCPIP 수신기를 사용하여 데이터를 가져옵니다. 이제 우리는 노드를 웹 사이트로 변경할 계획입니다. 서버 (로컬 PC에서 실행중인 VB6 응용 프로그램)는 변경하고 싶지 않습니다. 단지 웹으로 전환하려는 노드뿐입니다.

클라이언트와 서버 간의 통신이 정상적으로 작동하지만 문제가 없지만 웹 응용 프로그램을 개발하려고합니다. 그래서 내 질문에 TCP 수신기를 웹 응용 프로그램 또는 이에 상응하는 지원되는 무엇입니까? 웹 응용 프로그램의 경우 웹 서비스를 사용하여 통신하는 것이 더 낫습니까?

웹 응용 프로그램 ASP.net (VB/C# .net 3.5)은 전용 서버 창 2003 R2에서 실행됩니다. 이제 Windows 응용 프로그램을 만들 수 있으며 웹 응용 프로그램을 Web Server에 설치하려고합니다. 테스트 용으로 만든 채팅 서버 응용 프로그램이 내 LAN에서 제대로 작동 했으므로 웹 서버에서도 작동하는지 잘 모르겠습니다. LAN의 경우 LAN IP를 사용했습니다. 인터넷의 경우 인터넷 IP를 사용해야합니다. 이 방법이 효과가 있다면 보안 문제 나 문제가있을 것입니다. 이것의 TCP/IP 통신을위한 원하는 포트는 웹 서버에서 열려 있습니다.

프레임 워크 3.5, TCP/IP 리스너 웹 응용 프로그램 용 VS2008.

답변

0

귀하의 웹 서버는 실제로 단지 하나의 큰 TcpListener이며 동시 사용을 위해 고도로 최적화되어 있습니다. 따라서이 점을 염두에두고, 채팅 요청 메시지를 보내기위한 세션 요청 내에서 다른 TcpListener를 열지는 못합니다.

웹 요청과 Ajax를 사용하면 더 나은 방법이 될 수 있습니다. 나는 거기에 충분한 '웹 채팅 서버'예제 프로젝트가 있다는 것을 확신합니다.

+0

죄송합니다. 기존 응용 프로그램은 채팅 서버가 아니라 오히려 호텔 데이터베이스입니다. 같은 질문을 반영하도록 질문을 업데이트했습니다. –

-1

'채팅 응용 프로그램'에 웹 서비스 또는 웹 응용 프로그램을 사용하는 경우의 한 가지 문제점은 웹 서버로 전화를 걸면 반이중이 될 수 있기 때문에 클라이언트에 메시지를 '푸시'할 수 없습니다. 실시간. 이상적으로는 채팅 응용 프로그램을 사용하면 전이중 (full-duplex) 솔루션이 필요하므로 서버를 폴링하는 대신 클라이언트에 실시간으로 응답을 보낼 수 있습니다.

몇 가지 해결 방법이 있습니다. 웹 소켓이 최근에 소개되었습니다 (그러나 모든 브라우저가이를 지원하는 것은 아닙니다). socket.io는 웹 응용 프로그램에 실시간 "푸시"를 처리하는 데 유용한 라이브러리입니다.

+1

1. 내 응용 프로그램에 대한 나의 질문을 업데이 트했습니다. 호텔의 데이터베이스가 주문을받습니다. 새로운 주문 데이터를 가져올 필요가 없습니다. 몇 분만 기다려도 괜찮습니다. 이 경우 기존 TCPIP Listener Windows 서버가 정상입니까?
2. 웹 소켓을 사용하려면이 웹 사이트에서 TCP/IP 채널을 가져 오는 VB6 코드를 변경해야 할 수도 있습니다. –