Cisco 11503 Administration Guide - Page 304

Using socket Commands, socket connect

Page 304 highlights

Using socket Commands Chapter 8 Using the CSS Scripting Language If you search for the string "Keepalive" as illustrated in the previous section, you will find one result. In this case, the STATUS variable is set to 1. You can combine the status code returned from the grep command with a while loop to step through all the search results line-by-line. For example, enter: show service S1 | grep ":" set endIndex "${STATUS}" set index "1" while index "LTEQ" "${endIndex}" show service S1 | grep -u${index} ":" echo "${UGREP}" modify index "++" endbranch Using socket Commands To assist you in building a structured protocol, use socket commands in a script keepalive. The socket commands allow ASCII or hexadecimal send and receive functionality. Each command that has an optional raw keyword converts the data from standard ASCII to hexadecimal. For example, "abcd" is "61626364" in ASCII. In hex, it is "0x61 0x62 0x63 0x64". socket connect To performs either a TCP connection handshake (SYN-SYNACK...) to a specific IP address/port or a UDP connection by reserving the host/port, use the socket connect command. The socket value is received in a ${SOCKET} variable in the script. The syntax for this command is: socket connect host ip_address port number [tcp {timeout} {session} {nowait}|udp {session}] Note The software can open a maximum of 64 sockets simultaneously across all scripts on a CSS. 8-36 Cisco Content Services Switch Administration Guide OL-5647-02

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366
  • 367
  • 368
  • 369
  • 370
  • 371
  • 372
  • 373
  • 374
  • 375
  • 376
  • 377
  • 378
  • 379
  • 380
  • 381
  • 382
  • 383
  • 384
  • 385
  • 386
  • 387
  • 388
  • 389
  • 390
  • 391
  • 392

Chapter 8
Using the CSS Scripting Language
Using socket Commands
8-36
Cisco Content Services Switch Administration Guide
OL-5647-02
If you search for the string “Keepalive” as illustrated in the previous section, you
will find one result. In this case, the STATUS variable is set to 1.
You can combine the status code returned from the
grep
command with a
while
loop to step through all the search results line-by-line.
For example, enter:
show service
S1 | grep “:”
set
endIndex “${STATUS}“
set
index “1“
while
index “LTEQ“ “${endIndex}”
show service
S1 | grep -u${index} “:”
echo
“${UGREP}”
modify
index “++”
endbranch
Using socket Commands
To assist you in building a structured protocol, use
socket
commands in a script
keepalive. The socket commands allow ASCII or hexadecimal send and receive
functionality. Each command that has an optional
raw
keyword converts the data
from standard ASCII to hexadecimal. For example, “abcd” is “61626364” in
ASCII. In hex, it is “0x61 0x62 0x63 0x64”.
socket connect
To performs either a TCP connection handshake (SYN-SYNACK...) to a specific
IP address/port or a UDP connection by reserving the host/port, use the
socket
connect
command. The socket value is received in a ${SOCKET} variable in the
script.
The syntax for this command is:
socket connect host
ip_address
port
number
[tcp {
timeout
} {session}
{
nowait
}|
udp
{
session
}]
Note
The software can open a maximum of 64 sockets simultaneously across all scripts
on a CSS.