Access .mdb 데이터베이스 파일을 사용하여 변수를 저장하는 C# 게임을 설계했습니다.LAN을 통해 작동하도록 데이터베이스가있는 C# 프로그램을 배포 할 때의 조언
기본 아이디어는 플레이어 중 하나가 게임을 호스팅하고 다른 플레이어가 데이터베이스에 연결하여 항목을 데이터베이스에 읽고 쓰는 것으로 게임에 참여한다는 것입니다. 데이터베이스는 호스트와 클라이언트 사이에 변수를 전달하기 위해 필요하며, 두 프로그램 모두 새로운 메시지/변수를 정기적으로 데이터베이스에서 확인합니다 (예, 예, TCP/IP Remoting을 사용할 수 없습니다).
이제 클라이언트는 데이터베이스 파일을 찾을 수있는 한 호스트가 로컬 데이터베이스 만 수정하므로 대부분 클라이언트가 작동합니다. 현재 클라이언트의 연결 문자열은 .ini 파일에 있으며 프로그램이 작동하려면 서버 (또는 적어도 서버)가 XP 시스템의 공유 문서에 있어야합니다. Vista/7 컴퓨터.
그러나
다음 몇 가지 질문이 나에게 발생어떤 클라이언트 사용자 장소 /가 공유/공공 문서에서 다른 폴더로를 설치하는 경우? 데이터베이스의 경로를 찾기 위해 공유 문서 폴더에 '드릴'할 수있는 코드가 있다고 가정합니다. 포함 된 이름은 ... 포함되어 있습니까?
설치는 어떻게됩니까? 설치 프로그램 기본값은 항상 "C : \ Program Files \ GameName"입니다. 그것은 기본적으로 공유/공개 문서에 특정 폴더로 설정 (또는 잠김) 될 수 있습니까? 그리고 공유 폴더에 설치하는 것이 좋습니다, 우발적 인 삭제와 같은 문제는 무엇입니까?
이렇게 말하면 기본값은 "C : \ Program Files \ GameName"입니다. 모든 클라이언트는 다른 컴퓨터의 동일한 경로를 볼 것이기 때문에 설치 경로를 설정하면 연결 문제를 해결할 수 있으며 XP 또는 Vista인지 여부는 중요하지 않습니다. "C : \ Program Files \ GameName"은 시스템 수정없이 LAN을 통해 C# 프로그램에 액세스 할 수 있습니까? 보안 (UAC?) 문제가 있습니까?
P. 사람들이 쉽게 찾을 수있는 세부 정보 : Visual Studio 2005를 사용하고 있습니다. 내 학교도 마찬가지입니다. .NET Framework 2.0을 실행 중입니다. 나도 학교 다. 불행하게도 나는 그것을 바꿀 수 없다.
SQLite는 http://code.google.com/p/csharp-sqlite/를 사용할 수 위의 제안으로 모든 "공유"등이 발생하는 문제, 파일 잠금의 overcomplicated 설치 과정, SQL 서버 익스프레스 또는
당신을 제거 할 어떤 당신 미쳤어. 도랑 접근. 데이터베이스에 직접 클라이언트 액세스를 버립니다. 잠시 시간을내어 데이터를 올바르게 표시하는 방법을 배우십시오 (예, 아마도 웹 서비스를 통해). 게임에 도구를 사용하고 데이터를 올바르게 처리하는 방법을 배우면서 조금만 지출하면 엄청난 이익을 얻을 수 있습니다. – spender
직접 소켓이 도달 범위를 넘어선다고 느껴지면이 레이어를 부탁하고 추상화하십시오. IE는 이러한 메시지를 얻기 위해 프로그램 할 인터페이스를 만듭니다. 나중에 소켓이 생각만큼 나쁘지 않다고 생각하면 구현을 간단히 바꿀 수 있습니다. 두통도 줄일 수 있습니다. –
안녕하세요 저는 데이터를 중요하게 생각하지 않고 큰 데이터를 포함하지 않기 때문에 여기에서 가장 큰 문제는 액세스 사용을 생각하지 않습니다. 그러나 귀하의 신청서는 상업적으로 준비가되어 있지 않습니다! 공유 폴더를 사용하는 사람들이나 공유 폴더를 사용하는 사람들을 본 적이 없었습니다. 대신에 TCP/IP를 사용해야합니다. 1) 2) 3) –