基于Windows下的网络编程:
套接字(socket)是网络数据传输用的软件设备,我们就是通过套接字来完成两台计算机之间的数据传输。
套接字的类型:
一、面向有连接的套接字(SOCK_STREAM)
这个类型的套接字的特点:
- 传输过程中数据不会消失
- 按序传输数据
- 传输的数据不存在数据边界
这个类型的套接字的特点
这是建立了一个面向有连接的套接字;
- 传输的数据有可能丢失也有可能损毁
- 强调传输速度而非传输顺序
- 传输的数据有数据边界
- 限制每次传输的数据大小
创建套接字
SOCKET socket(int af, int type, int protocol);
其af表示套接字中使用的协议族信息, type表示 套接字数据传输类型的信息, protocol 表示计算机间通信中使用的协议信息。
SOCKET serversocket;
serversocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(serversocket == INVALID_SOCKET)
{
cout << "建立socket失败" << WSAGetLastError() << endl;
}
这是建立了一个面向有连接的套接字;
SOCKET serversocket;
serversocket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
if(serversocket == INVALID_SOCKET)
{
cout << "建立socket失败" << WSAGetLastError() << endl;
}
这是建立了一个面向无连接的套接字。