Powerbuilder 10.5 使用Socket函数发送数据

今天想使用pb10来操作socket函数, 

 在这里写个测试代码,以作备用。

PowerBuilder10.5 测试代码:

 API函数声明 

FUNCTION Long WSAStartup ( Integer wVersionRequired, REF WSADATA lpWSAData) LIBRARY "ws2_32.dll" ALIAS FOR "WSAStartup;ansi"
FUNCTION Long WSACleanup( ) LIBRARY "ws2_32.dll"
FUNCTION Long bind ( Long s, REF sockaddr addr, Long namelen) LIBRARY "ws2_32.dll" ALIAS FOR "bind;ansi"
FUNCTION Long socket ( Long af, Long lType, Long protocol) LIBRARY "ws2_32.dll" ALIAS FOR "socket;ansi"
FUNCTION Long wsconnect ( Long s, REF SOCKADDR_IN name, Long namelen) LIBRARY "ws2_32.dll"  ALIAS FOR "connect;ansi"
FUNCTION Long wsrecv( Long s, ref String buf, Long lLen, Long flags) LIBRARY "ws2_32.dll" ALIAS FOR "recv;ansi"
FUNCTION Long closesocket ( Long s) LIBRARY "ws2_32.dll" ALIAS FOR "closesocket;ansi"
FUNCTION Long wssend ( Long s, String buf, Long lLen, Long flags) LIBRARY "ws2_32.dll" ALIAS FOR "send;ansi"
FUNCTION Integer htons ( Integer hostshort) LIBRARY "ws2_32.dll" LIBRARY "ws2_32.dll" ALIAS FOR "htons;ansi"
FUNCTION Long inet_addr (   String cp) LIBRARY "ws2_32.dll" ALIAS FOR "inet_addr;ansi"

PB测试代码

 wsadata ws 
 sockaddr addr
 
 
 if bStart = true then return 
 
 bStart = true 
 
 //初始socket
 WSAStartup(258,ws)
 ulong sockClient
 

sockClient=socket(2,1,0);// AF_INET ..tcp连接
    //初始化连接与端口号
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr= inet_addr("127.0.0.1");//本机地址,服务器在本机开启
addrSrv.sin_family=2;
addrSrv.sin_port= htons(6000);// 设置端口号

//连接到服务器
wsconnect(sockClient, addrSrv,16);//连接服务器

//接收数据
string  recvBuf;
recvBuf = space(500)
WsRecv(sockClient,recvBuf,500,0);//接受数据
lb_1.additem(string(now(),'hh:mm:ss') + " " + string(recvbuf))

//发送数据
string data 
data =   string(now(),'hh:mm:ss') +" " + sle_1.text 
WsSend(sockClient,data,lena(data)   ,0);//发送数据
closesocket(sockClient);//关闭连接

//退出socket
WSACleanup();
	  
	  
bStart = false 

 VC++服务器端测试代码:

现成的源代码

Powerbuilder10.5调用socket-C++文档类资源-CSDN下载

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白(litebai.com)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值