Chinaunix首页 | 论坛 | 博客
  • 博客访问: 168775
  • 博文数量: 35
  • 博客积分: 287
  • 博客等级: 二等列兵
  • 技术积分: 353
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-02 21:01
个人简介

君子务本,本立则道生。

文章分类
文章存档

2014年(4)

2013年(12)

2012年(19)

分类: C/C++

2012-05-21 15:41:19

linux课上了网络编程,我小小的总结了下.

socket通信是通信机制的一种,分两块实现,服务器端和客户端

1、服务器端使用的函数

socket  bind  listen   accept
1.1创建一个套接字

#include
#include
int socket(int domain,int type,int protocol);

domain:
AF_UNIX:主要用于本地
AF_INET:主要用于网络 

type:
SOCK_STREAM:面向数据流,TCP
SOCK_DGRAM:面向数据报,UDP

protocol
默认就OK了,设为0

1.2命名套接字
#include
int bind(int socket,const struct sockaddr *address,size_t address_len)
我的理解是把address和socket邦定在一
socket:socket的返回值
address:套接字地址
address_len:地址的长度

1.3创建套接字队列
#include
int listen(int socket,int backlog);
我的理解是创建一个和socket相关联的队列,保存未处理的请求

1.4接受连接
#include
int accept(int socket,struct sockaddr *address,size_t *address_len);
这里的返回值是请求连接的客 户端的"别名",而address是存放请求连接的客户端的地址.




2.客户端
客户端要做的事情相对于服务器端就少点了
2.1创建套接字
和1.1一样。。。。
2.2请求连接
int connect(int socket,const struct *address,size_t address_len);
address:是服务器端的地址


ok!连接建立后就可以实现主机间的通信了。


这里只是简单的总结下,很粗略,简约。。。。呵呵。。。。




阅读(3010) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~