对pbsocket认识

原创 2007年09月13日 22:04:00
global variables
WinSock   ws
event:open
ws = create WinSock    //提供常数和函数winsock_error
event:close
destroy ws

sServer = create SocketStream         //数据流传输模式:自动创建套接字
 sServer.bind(ulAddr,iPort)
sServer.listen(5)

tmpSocketNum = sServer.Accept(ulClientAddr, iClientPort) 自动创建一个套接字节

nsServer = create Socket           //这就用socket就行
nsServer.initsocket(SocketNum)     //初始化accept建立的socket

nsServer.CloseSocket()   这句是错误的,因为destroy时就自动调用了它
destroy nsServer
sServer.CloseSocket()    这句是错误的,因为destroy时就自动调用了它
destroy sServer

integer iEvent, iRet
iEvent = ws.FD_READ + ws.FD_WRITE + ws.FD_CLOSE + ws.FD_OOB+FD_ACCEPT+FD_CONNECT
sServer.WSAAsyncSelect(handle(this), 1024, iEvent) //事件邦定

ws.winsock_error
有用的函数:
ws.gethostname() 获得当前计算机名称
ws.gethostbyname() 根据名称返回其它信息
ws.GetHostByAddr()
h_name h_aliases[]
h_addrtype
h_length
h_addr-list[]

iEvent = ws.WSAGetSelectEvent(lparam)   判断是哪一个事件
iRet = ws.WSAGetSelectError(lparam)    
iErr = ws.WSAGetLastError()

sClient = create socketstream
sClient.WsConnect(iHostent.h_addr_list[1], iPort)
不用指定自身的端口,会自动使用一个端口的并告知服务器
sClient.Recv
sClient.send
destroy sClient

recv 只要产生fd_read事件就可以用recv来接收数据,注意用循坏来读取所有数据
send 注意可以直接使用send 或通过fd_write事件来发送数据若想通事件来发送
数据必须在准备好数据时调用wsaasyncselect这样马上会触发fd_write事件
fd_write只有在绶冲区中有空位时只产生,刚建立连接时会产生一次
wsaasyncselect只有最后一次的有用,先前的无效
 

使用SOCKET实现TCP/IP协议的通讯

一、原理:      首先要理解基本的原理,2台电脑间实现TCP通讯,首先要建立起连接,在这里要提到服务器端与客户端,两个的区别通俗讲就是主动与被动的关系,两个人对话,肯定是先有人先发起会话,要不然...
  • a497785609
  • a497785609
  • 2013年10月19日 15:18
  • 68761

用PB编写WinSock TCP-IP应用程序

  • 2013年01月03日 14:39
  • 85KB
  • 下载

用PB编写WinSock TCP/IP应用程序

   PB中的套接字是通过Winsock.pbl库来提供的,它封装了套接字编程中用到的数据结构和过程,在功能上类似于VB中的Winsock控件。   Winsock.pbl中定义了两种类型的Socke...
  • nthb2001
  • nthb2001
  • 2001年07月06日 10:02
  • 1152

PB使用SOCKET

  • 2013年01月07日 11:04
  • 161KB
  • 下载

使用pb的connection对象建立TCP连接

 使用pb的connection对象建立TCP连接 2007-07-17 10:39 790人阅读 评论(0) 收藏 举报 tcp网络 connection myconn...
  • tlammon
  • tlammon
  • 2015年07月17日 12:57
  • 304

SOCK_STREAM与SOCK_DGRAM套接口类型

SOCK_STREAM套接口(流套接口)的性质 1、不保留任何消息的边界       举一个例子:本地主机通过两次独立的write(2)调用向远程主机发送数据,第一次本地进程写入25字节的数据,并...
  • qing666888
  • qing666888
  • 2015年12月28日 16:42
  • 1043

关于Socket类型中SOCK_STREAM和SOCK_DGRAM区别

SOCK_STREAM   是有保障的(即能保证数据正确传送到对方)面向连接的SOCKET,多用于资料(如文件)传送。 SOCK_DGRAM   是无保障的面向消息的socket , 主要用...
  • sinat_28494049
  • sinat_28494049
  • 2015年05月26日 12:04
  • 3294

PB Socket 程序(异步流模式)(pb9.0)

  • 2010年03月31日 16:24
  • 4MB
  • 下载

超强超完善的pb-SOCK网络源码(附pb-Socket通讯的例子)

  • 2017年07月31日 18:14
  • 1.85MB
  • 下载

PB9实现的SOCKET通讯协议

  • 2012年11月21日 10:49
  • 2.42MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对pbsocket认识
举报原因:
原因补充:

(最多只允许输入30个字)