C++网络编程
972 浏览 6 years, 2 months
2.2 因特网服务器1 - SocketLib
版权声明: 转载请注明出处 http://www.codingsoho.com/添加工程文件
将SocketLib文件添加到当前工程里,同时Project Option - Directories - Include Directories 里添加BasicLib的访问位置
因为在SocketLibSocket.h有下面调用语句
#include "BasicLib/BasicLib.h"
使用Socket类来实现基本服务器功能
替换代码为
#include "SocketLib/SocketLibSocket.h"
using namespace SocketLib;
int main()
{
ListeningSocket _lsock;
_lsock.Listen(4000);
DataSocket _dsock;
_dsock = _lsock.Accept();
char _buffer[128] = "Hello There!";
_dsock.Receive(_buffer, 128);
cout << "Data received:" << endl;
cout << _buffer << endl;
return 0;
首先定义监听套接字,并将它绑定到端口4000,套接字默认是阻塞的。Listen
函数里同时会执行绑定和监听动作。
完成监听后,用阻塞函数Accept开始接收输入流,如果接收到输入流,那么调用Receive函数接收数据,并将数据输入到屏幕上。
Socket初始化
记得include下面文件,它会初始化一个全局的System g_system;
, 否则套接字初始化会失败
#include "SocketLib/SocketLibSystem.h"