phpxmlf发送数据 php发送网络请求的方式( 二 )


$reader = new XMLReader()//实例化XMLReader
$reader open($url) //获取xml
$i= ;
while ($reader read()) {
if ($reader nodeType == XMLReader::TEXT) { //判断node类型
$m = $i% ;
if($m== )
$name = $reader value;//读取node值
if($m== )
$sex = $reader value;
if($m== ){
$age = $reader value;
$arr[] = array(
name = $name
sex = $sex
age = $age

}
$i++;
}
}
//print_r($arr)
lishixinzhi/Article/program/PHP/201311/21636
php post请求发送xml 数据 怎么添加请求头php post请求发送xml 数据 怎么添加请求头
实用数组,形参用指针变量 。
main()
{int a[10];
……
f(a,10)
……
【phpxmlf发送数据 php发送网络请求的方式】f(int *x,int n)
{
……
}
}
3)实参、型参都用指针变量 。
4)实参为指针变量,型参为数组名 。
【例10.20】用实参指针变量改写将n个整数按相反顺序存放 。
void inv(int *x,int n)
{int *p,m,temp,*i,*j;
m=(n-1)/2;
i=x;j=x+n-1;p=x+m;
for(;i=p;i++,j--) BR{temp=*i;*i=*j;*j=temp;}
return;
}
main()
{int i,arr[10]={3,7,9,11,0,6,7,5,4,2},*p;
p=arr;
printf("The original array:\n");
for(i=0;i10;i++,p++)
printf("%d,",*p);
printf("\n");
p=arr;
inv(p,10);
printf("The array has benn inverted:\n");
for(p=arr;parr+10;p++)
printf("%d,",*p);
printf("\n");
}
注意:main函数中的指针变量p是有确定值的 。即如果用指针变作实参 , 必须现使指针变量有确定值,指向一个已定义的数组
如何在PHP中使用socket+XML发送数据包接收指定IP的数据包,其他IP都要过滤吧,那就用防火墙来搞吧
使用的是client段的获取方式,用client的可以指定IP,代码大概如下
public void SendMessage()
{
ASCII = Encoding.ASCII;
// 构造用于发送的 字节缓冲.
Byte[] sendBytes = ASCII.GetBytes(SEND_MESSAGE);
// 构造用于接收的 字节缓冲.
Byte[] recvBytes = new Byte[256];
// IP地址.
IPAddress localAddr = IPAddress.Parse("192.168.19.81");
// 接入点.
IPEndPoint ephost = new IPEndPoint(localAddr, PORT);
// 第一个参数:AddressFamily = 指定 Socket 类的实例可以使用的寻址方案 。
//Unspecified 未指定地址族 。
//InterNetwork IP 版本 4 的地址 。
//InterNetworkV6 IP 版本 6 的地址 。
//
// 第二个参数:SocketType = 指定 Socket 类的实例表示的套接字类型 。
//Stream 一个套接字类型 , 支持可靠、双向、基于连接的字节流,而不重复数据,也不保留边界 。
//此类型的 Socket 与单个对方主机通信,并且在通信开始之前需要建立远程主机连接 。
//此套接字类型使用传输控制协议 (Tcp),AddressFamily 可以是 InterNetwork,也可以是 InterNetworkV6 。
//
// 第三个参数:ProtocolType = 指定 Socket 类支持的协议 。
//Tcp 传输控制协议 (TCP) 。
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
// 尝试连接主机.
s.Connect(ephost);
//Console.WriteLine("向服务器发送到了:{0}", SEND_MESSAGE);
// 向主机发送数据.
// s.Send(sendBytes, sendBytes.Length, SocketFlags.None);
// 接收服务器的应答.
Int32 bytes = s.Receive(recvBytes, recvBytes.Length, SocketFlags.None);
StringBuilder buff = new StringBuilder();
//while (bytes0)
//{
// 将缓冲的字节数组,装换为字符串.
//String str = ASCII.GetString(recvBytes, 0, bytes);

推荐阅读