Socket的三个关联函数
/*lrs_save_param將靜態或接收到的緩沖區保存到參數中*/
lrs_save_param (char *s_desc, char *buf_desc, char *param_name, int offset, int param_len);
參數:
s_desc:套接字標識符
buf_desc:緩沖區標識符
param_name:存入緩存數據的參數名稱
offset:被保存到參數中的緩存區偏移量
param_len:要保存到參數中的字節數
/*lrs_save_param_ex將用戶、靜態或接收到的緩沖區保存到參數中*/
lrs_save_param_ex (char *s_desc, char *type, char *buff, int offset, int length, char *encoding, char *param);
參數:
s_desc:套接字標識符
type:要將靈氣保存到參數中的緩沖區類型,有"user"(用戶緩沖區)、"static"(data.ws中的靜態緩沖區)和"received"(最后接收的緩沖區數據)三種
buff:和type的值有關,如果type的值是"user"則buff的值為指定的用戶緩沖區,如果type的值是"static"則buff的值為指定的靜態緩沖區,如果type的值是"received"則buff參數可以設為NULL
offset:緩存區偏移量
length:要保存到參數中的字節數
encoding:編碼方式可以指定為"ascii"或"ebcdic",如果是用戶緩沖區則NULL默認為"ascii",如果type為"static"或"received"則NULL默認為客戶端編碼方式
param:參數名稱
/*lrs_save_searched_string將靜態或接收到的緩沖區中搜索出現的字符串,將出現字符串的緩沖區部分保存到參數中*/
lrs_save_param (char *s_desc, char *buf_desc, char *param_name, char *left_boundary, char *right_boundary, int ordinal, int offset, int param_len);
參數:
s_desc:套接字標識符
buf_desc:緩沖區標識符
param_name:保存緩沖區數據的參數名稱
left_boundary:標識要搜索緩沖區部分的左邊界的字符串,格式為"LB=XXX"
right_boundary:標識要搜索緩沖區部分的右邊界的字符串,格式為"RB=XXX"
ordinal:表示從第幾次出現的左邊界字符串開始搜索,如果指定了左邊界則ordinal的值一定大于0,如果沒有指定左邊界則將ordinal設為-1
offset:要開始搜索的偏移量。如果指定了左邊界則此偏移量相對于左邊界計算,否則就從緩沖區的開始計算偏移量
param_len:要保存到參數中的緩沖區數據字節數。適用于沒有指定右邊界的情況,如果指定了右邊界則設param_len為-1
例如:
lrs_save_searched_string("socket1", LRS_LAST_RECEIVED, "Parameter1", "LB/BIN=*", "RB/BIN=#", 2, 0, -1);
比較:
前兩個函數都是根據偏移量和查找的數據的長度來定位所需要的數據,所以只適合于返回內容基本固定,只是所需要的數據動態變化,而且長度不變的情況。第三個函數是根據左右邊界來定位要查找的數據,適用于數據長度變化的情況。lrs_save_searched_string與web協議中的web_reg_save_param函數作用基本一樣,所不同的只是web_reg_save_param要放在需要關聯的請求前,而lrs_save_searched_string是放在請求后。
轉自:http://www.51testing.com/?uid-75241-action-viewspace-itemid-96549
轉載于:https://www.cnblogs.com/shengs/p/4396056.html
總結
以上是生活随笔為你收集整理的Socket的三个关联函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nosql and Mongodb 介绍
- 下一篇: shell篇(一)