En fazla bir uygulamayı kullan yuva sayısı

Makale çevirileri Makale çevirileri
Makale numarası: 111855 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Özet

Belirli bir Windows Sockets tedarikçi tarafından desteklenen bir yuva sayısı uygulama özeldir. Bir uygulama, Yuvalar belirli sayıda kullanılabilirliği hakkında hiçbir varsayımlar yapmalısınız.

Daha fazla bilgi

Windows Sockets uygulaması ayrıntılarını WSAStartup() tarafından verilen ve şu şekilde tanımlanan WSAData yapısında açıklanmıştır:
struct WSAData {
     WORD          wVersion;
     WORD          wHighVersion;
     char           szDescription[WSADESCRIPTION_LEN+1];
     char          szSystemStatus[WSASYSSTATUS_LEN+1];
     unsigned short     iMaxSockets;
     unsigned short     iMaxUdpDg;
     char FAR *     lpVendorInfo
};
				
WSAStart() gelen bir dönüş Windows NT'de açık
   iMaxSockets = 0x7fff (32767)
				
iMaxSockets bulunduğu tek bir işlem potansiyel olarak açabileceğiniz yuva sayısı. Tahsisat için herhangi bir işlem için genel bir yuva havuzunun BIR Windows Sockets uygulamasını sağlayabilir veya onu için bir yuva işlemi başına kaynakları tahsis edebilirsiniz. Sayı biçimini Windows Sockets DLL ya da ağ yazılımı yapılandırıldı yansıtabilirsiniz. Bir uygulama Windows Sockets uygulaması uygulama tarafından kullanılıp kullanılamayacağı desteklemediğinin göstergesi olarak yazarken numarasını da kullanılabilir.

Örneğin, bir X Windows sunucusu başlatıldığında iMaxSockets denetleyin. Yuva sayısı 8'den küçük ise, uygulama ağ yazılımı yeniden yapılandırmak için kullanıcının bir hata iletisi görüntüler. (Bu szSystemStatus metin kullanılabilir bir durumdur.) Diğer Windows Sockets uygulamaları kullanılmakta olabileceğinden belirli bir uygulamayı gerçekten iMaxSockets yuva için tahsis garanti yoktur.

Ancak, gerçekte bir uygulama, yuva sayısı sorunun belirli bir uygulama tarafından desteklenen bir yuva sayısını bağımsızdır.

Bir Windows Sockets uygulamasını kullanan bir yuva sayısı, göre sabit bir bildirim FD_SETSIZE derleme sırasında belirlenir. Bu, Win32 SDK WINSOCK.H dosyasından yapmak için:
/*
 * Select uses arrays of SOCKETs. These macros manipulate such
 * arrays. FD_SETSIZE may be defined by the user before including
 * this file, but the default here should be >= 64.
 *
 * CAVEAT IMPLEMENTOR and USER: THESE MACROS AND TYPES MUST BE
 * INCLUDED IN WINSOCK.H EXACTLY AS SHOWN HERE.
 */ 
#ifndef FD_SETSIZE
#define FD_SETSIZE      64
#endif /* FD_SETSIZE */ 
				
bu değer select() kullanılan fd_set yapıları oluştururken kullanılır. 64 WINSOCK.H, varsayılan değerdir. Bir uygulamanın 64 yuva ile çalışma yeteneğine sahip için tasarlanmıştır, bildirim FD_SETSIZE WINSOCK.H dahil olmak üzere her bir kaynak dosyada tanımlayın. -Ekleme gibi makefile, derleyici seçenekleri içindeki tanımı eklemek için bunun bir yolu budur DFD_SETSIZE için Microsoft C = derleyici komut satırı seçeneği olarak 128

Not: Belirli bir değeri FD_SETSIZE tanımlama, bir Windows Sockets uygulaması tarafından sağlanan yuva sayısını'üzerinde etkisi yoktur.

Özellikler

Makale numarası: 111855 - Last Review: 1 Kasım 2006 Çarşamba - Gözden geçirme: 3.1
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows NT Workstation 3.1
Anahtar Kelimeler: 
kbmt kbnetwork KB111855 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:111855

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com