Bu herkes tıpkı ki küçük bir şey değildir, vb> sunucuya yazar (yeni oyuncu verileri/güncelleştirmeyi yapar) ve görseller güncellemek için daha fazla bilgi, diğer oyuncuları alır özellikle de programlamaya giriyorsanız. İlk olarak küçük başlarım, birkaç küçük uygulama yapın, .NET framework kütüphaneleri ile oynayın ve rahat olsun (özellikle System.Net/SSL şifrelemesi için System.Security gibi System.Net'e bakın). . Ağ iletişimi bileşeni, sürekli iletişimi yürütmek ve hızlı bir şekilde yanıt verebilmek için bir sistem uygulamanız gerektiğinden çok büyük olacaktır (herhangi bir gecikme, ağ bakış açısından düşürülmüş paketler olarak görülebilir ve istemci zaman aşımlarına neden olabilir). Ayrıca ne tür verilerin sunulduğunu (kaydedilmiş oyunlar, oyuncu verileri, kişisel bilgiler (parolalar, e-posta adresleri, vb.)) Ve bu verileri nasıl saklayacağınızı da düşünmek istersiniz. Bunun için birçok ücretli ve ücretsiz teknoloji var (Postgres, SQL, MySQL, vb.). Lütfen bahsettiğim bazı eşyalara hızlıca google yapın ve çok oyunculuğu desteklemek için oyunların ve arka uç sistemlerinin gelişmesinin yıllar sürdüğünü göreceksiniz.
Başkalarının kodunu parçalara ayırarak bir şeyler takıp öğrenmeyi öğrenen bir öğrencisiyseniz, aşağıdaki makalelerin bazılarına göz atabilirim.
http://csharp.net-informations.com/communications/csharp-multi-threaded-server-socket.htm
http://www.codeproject.com/Articles/1415/Introduction-to-TCP-client-server-in-C
İşte bunun farklı System.Net ad sınıflarını ve işlevlerini diseksiyon bazı MSDN makaleleri bulunuyor. Ayrıca sunucu yalnızca bir seferde bir istek işlenirken olmadığından emin olmak için parçacığı kullanarak bakmak isteyeceksiniz
https://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate(v=vs.110).aspx
https://msdn.microsoft.com/en-us/library/system.security.cryptography(v=vs.110).aspx
https://msdn.microsoft.com/en-us/library/system.net.sockets(v=vs.110).aspx
https://msdn.microsoft.com/en-us/library/system.net(v=vs.110).aspx
. Buna birçok yaklaşım var ama iş parçacığı kullanmanın bazı temel örnekleri burada.
http://www.dotnetperls.com/thread
When to use Multithread? (bazı noktalar nasıl ve bizim çok kendi S/Ç sitesinde :) üzerinde konuları kullanmak için).
İşte size projenin bu tür koymak gerekecek çaba türünü göstermek için sizi ama daha sakındırıcı değil https://msdn.microsoft.com/en-us/library/system.threading.thread(v=vs.110).aspx
MSDN
gelen dişlerinde DL bu. Yapmak istediğiniz şey tamamen yapılabilir, ancak bazı beyin eğitimi ve kafa çizilmeye ihtiyaç duyacaktır.Sıkıcı geliyorsa, özür dilerim, sadece koçluk yapmaya çalışıyorum ve C# 'daki uzmanlık seviyenizden emin değilim! Size rağmen iyi şanslar arkadaş, umarım bu harika bir öğrenme deneyimine dönüşür!
Asıl sorunun nedir? Yazıldığı gibi, bu çok geniş. Lütfen [** Buraya soru sorma **] (http://stackoverflow.com/questions/how-to-ask) hakkında bilgi edinin. –
Yorum için teşekkür ederim, genel soru temelde bu sunucu yerel olarak nasıl başlangıç yapabilirim böylece diğerleri benim PC'de kayıtlı yerel verilerimi kapmak olabilir –
Bir örnek Minecraft sunucu olacaktır. Bu oyun sunucusu istemcisi, yerel olarak sunucunuzdaki tüm verileri iletmek ve depolamak suretiyle bir sunucuyu başlatmanıza izin verir. –