UDP网络连接的书写
服务器端
socket端口申请
int soketfd_ = socket(AF_INEF,0,SOCK_DGRM,0);
if(soket < 0){
std::cout << "socket fail" << std::endl;
}
进行创建socket的端口号,SOCK_DGRM为数据报,这里决定是否为UDP或者是TCP协议的socket端口号决定操作
bind绑定
struct sockaddr_in local;
bzero(&local,sizeof(local));
local.sin_family = AF_INT;
local.sin_port = htons(port_);
local.sin_addr.s_addr = ip_.empty() ? htonl(INADDR_ANY) : inet_addr(ip_.c_str());
bind(sockfd_,(struct sockaddr*)&alocal,sizeof(local));
绑定之后,可以使用目前创建的socket的端口号进行数据报的传输。
利用端口
使用read与write,进行端口的写,这里的执行是全双工的操作。
下面的全都是
客户端
socket端口申请
int soketfd_ = socket(AF_INEF,0,SOCK_DGRM,0);
if(soket < 0){
std::cout << "socket fail" << std::endl;
}
填写服务端信息
struct sockaddr_in server;
bzero(&server, sizeof server);
server.sin_family = AF_INET;
server.sin_port = htons(server_port);
server.sin_addr.s_addr = inet_addr(server_ip.c_str());
客户端不需要进行bind,可能其他的client使用这个端口进行占用造成数据的相关的问题。而且系统会自动进行分配端口号与ip进行绑定。
利用端口
使用read与write,进行端口的写,这里的执行是全双工的操作。
下面的全都是
后面基本上与服务器端端使用方法相同。