Network Programming for the MicrosoftВ® .NET Framework (Pro-Developer)

C

callbacks

delegates for, asynchronous, 6365

purpose of, 18

multiple with asynchronous sockets, 199200

WaitCallback thread delegates, 56, 5859

canonicalization of URIs, 9192

CAS. See code access security

Certificate authentication, 312, 314

certificates, 234237, 257

channels

abstract members required, 276277, 279283

architecture of, 275

authentication, 274

client channel implementation, 283289

client channel sink chains, 283, 288289

constructors, 277279

CreateMessageSink method, 282

CreateSink method, 284

deserialization, 295

developing custom, 275295

formatter sinks, 289

HTTP, 270274

IChannel implementation example, 279280

IChannel interface classes, 276, 279283

IChannelReceiver implementation example, 280281

IChannelSender implementation example, 282283

IClientChannelSink, 284

IClientChannelSinkProvider, 283

interoperability, 271

IServerChannelSink, 290291

listening servers, implementing, 292294

message sink creation, 282

names for, 280

parsing URIs, 280

priority property of, 280

properties of HTTP channels, 271274

properties of TCP channels, 274275

request handling, 292295

request messages, 287288

security, 271

selection for servers, 265267, 269

serialization, 288

server channel implementation, 289295

server sink provider chains, 294295

server transport sink providers, 290294

Setup provider methods , 279

SetupClientSinkProviders, 288289

sinks. See sinks, channel

starting listening by servers, 280

TCP channels, 274275

transport sinks, 283288, 289

UDP, 277295

character sets, 4344

checksums, 174178

CIDR (Classless Interdomain Routing) notation, 127, 132

classes, IP address, 126

classes, .NET Framework

advantages of class-based model, 6

application model-specific classes, 1016

ASP.NET, 1013

Console application model, 1516

general-purpose libraries, 710

Net namespace, 19. See also System.Net

overview, 7

System second-level namespaces, table of, 810

Windows Services application model, 1415

Classless Interdomain Routing (CIDR) notation, 127, 132

client sockets

address object creation, 148149

asynchronous connect method, 153

asynchronous reception methods, 159

binding, 148151

blocking mode, 156

byte arrays requirement, 157

byte order, 171172

checksums, 174178

classes for, .NET, 143

closing, 159161

code access security, 181

connecting, 151153

creating, 146147

defined, 146

DNS with, 151153

endpoint creation, 149

HeaderIncluded option, 176177

host name resolution, 151153

ICMP protocol, 172176

ioctls, 164166

IPAddress class, 148149

multicasting, 166170

namespace for classes, 146

network interfaces with, 148

non-blocking mode, setting, 165166

option methods, 161164

OutOfBand flag, 155

Parse method for addresses, 148149

permissions, 180

port numbers , 149151

protocol headers, 171172

protocol selection, 147

raw, 170177

RawSocket sample, 165, 171

ReceiveBuffer option, 163164

receiving data, 157159, 172176

sending data, 154157, 171172

SimpleSocket sample, 146

simplified classes, 178180

SocketExceptions, 147, 150151, 159

SocketFlags, 155, 157

SocketOptionLevel, 161

SocketOptionName, 161163

SocketType parameter, 147

TCP vs. UDP connections, 151

TcpClient class, 178179

TcpListener class, 179180

transport protocols, 144

UdpClient class, 180

closing sockets, 159161

CLR (Common Language Runtime), 45

code access security

code groups, 300302

conditions for code groups, 300302

defined, 297

DNS permissions, 303

Enterprise policy level, 299300

Internet zone, 301

Intranet zone, 301

Machine policy level, 299300

Microsoft .NET Framework 1.1 Configuration tool, 300

My Computer zone, 302

overview, 5

permissions, 298299

policy levels, 299300

Security permission, 299

serialization with, 86

sockets with, 181

threads with, 51

Trusted zone, 302

Untrusted zone, 302

User policy level, 299300

Web classes with, 237238

WebPermission class for, 119

Zone conditional access, 301303

code groups, 300302

CodeDom namespace, 8

Collections namespace, 8

Common Language Runtime, 45

ComponentModel namespace, 8

composable streams

base class for, 25

BufferedStream class, 40

CryptoStream class, 4043

defined, 2425, 39

SSL, 40

conditional acceptance, 308

conditions for code groups, 300302

Configuration namespace, 8

Configuration tool, Microsoft .NET Framework 1.1, 300

congested networks, 330

connecting sockets, 151153

connection pooling, 248

Connection property, 205

connections

accepting client, 151153, 186187, 197

authentication of, 230234

bandwidth requirements, 329330

determining presence of valid, 339342

failed, handling, 258

identifying, 306310

idle, attacks with, 329

idle, handling, 310

limits on number of, 308, 328, 331333

Management classes, 339342

managing, 228230

memory issues, 327328

multiple URIs, retrieving, 228230

speed, network awareness of, 338342

UDP, 146, 151

Web classes, optimizing for, 331333

console applications, 1516

Content properties, 205

controls, 54

cookies, 219220

credentials, 104105

critical sections of code, 6062

cryptography. See encryption

CryptoStream class, 4043, 310

custom channels. See channels, developing custom

Категории