c++csocket编程 5种模式
1个回答
展开全部
1. 构造CSocket对象,如以下的枝庆形式:
CSocket Serversocket;
2. 利用CSocket对象的Create()函数创建Windows Socket,Create()函陪带数会调用Bind()函数将此Socket绑定到指定的地址上,其原型为:
BOOL Create (UINT nSocketPort = 0, int nSocketType = SOCK_STREAM, LPCTSTR lpszSocketAddress = NULL);
其中nSocketPort参数指定通信连接的端口号,端口号可以任意指定,但最好不要使用系统默认的一些端口号,例如21是FTP文件传输使用的端口号;
3. Socket创建完毕之后,在服务器端进行监听客户的连接请求,使用如下的代码:
ServerSocket.Listen();
紧接着对于客户端而言,将会调用Connect()函数向服务器发送连接请求,而对于服务器而言,则会调用Accept()函数对客户端发送过来的请求连接进行接受和处理,Accept()函数可以创建一个和监听Socket相同的连接芦搭芦Socket来处理客户的请求,二原来的Socket仍然处于监听状态,使用的形式如下。
客户端:
ClientSocket.Connect(服务器的地址,服务器的端口号);
服务器端:
CSocket ReceiveSocket;
ServerSocket.Accept(连接Socket,客户的地址结构,客户地址结构的长度)
4. 对于数据流服务器类型而言,服务器和客户各自通过调用函数来完成数据的发送和接受,使用如下的语句:
ServerReceive.Receive(缓冲区,缓冲区的长度,接受标志位);
Client.Send(缓冲区,缓冲区的长度,发送标志位);
5. 在客户端与服务器端的数据传输完成之后,调用下述语句,释放Socket所占有的资源。
ServerSocket.Close();
ReceiveSocket.Close();
ClientSocket.Close();
CSocket Serversocket;
2. 利用CSocket对象的Create()函数创建Windows Socket,Create()函陪带数会调用Bind()函数将此Socket绑定到指定的地址上,其原型为:
BOOL Create (UINT nSocketPort = 0, int nSocketType = SOCK_STREAM, LPCTSTR lpszSocketAddress = NULL);
其中nSocketPort参数指定通信连接的端口号,端口号可以任意指定,但最好不要使用系统默认的一些端口号,例如21是FTP文件传输使用的端口号;
3. Socket创建完毕之后,在服务器端进行监听客户的连接请求,使用如下的代码:
ServerSocket.Listen();
紧接着对于客户端而言,将会调用Connect()函数向服务器发送连接请求,而对于服务器而言,则会调用Accept()函数对客户端发送过来的请求连接进行接受和处理,Accept()函数可以创建一个和监听Socket相同的连接芦搭芦Socket来处理客户的请求,二原来的Socket仍然处于监听状态,使用的形式如下。
客户端:
ClientSocket.Connect(服务器的地址,服务器的端口号);
服务器端:
CSocket ReceiveSocket;
ServerSocket.Accept(连接Socket,客户的地址结构,客户地址结构的长度)
4. 对于数据流服务器类型而言,服务器和客户各自通过调用函数来完成数据的发送和接受,使用如下的语句:
ServerReceive.Receive(缓冲区,缓冲区的长度,接受标志位);
Client.Send(缓冲区,缓冲区的长度,发送标志位);
5. 在客户端与服务器端的数据传输完成之后,调用下述语句,释放Socket所占有的资源。
ServerSocket.Close();
ReceiveSocket.Close();
ClientSocket.Close();
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询