linux下的socket网络编程:一个简易聊天室的实现徐慧军.doc
- 古田张老师个人认证 |
- 2021-03-01 发布|
- 69 KB|
- 12页
Linux下的Socket网络编程:一个简易聊天室的实现-徐慧军
高级程序设计与应用实践
报告
一个简易聊天室的实现
姓名:徐慧军
学号:2121134
专业:电子与通信工程
学院:信息科学与技术学院
任课教师:廖晓飞
2013年05月02日
Linux下的Socket网络编程:
——一个简易聊天室的实现
一 、socket介绍
socket接口是TCP/IP网络的API,socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解socket接口。
socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解socket了。网络的socket数据传输是一种特殊的I/O,socket也是一种文件描述符。socket也具有一个类似于打开文件的函数调用socket(),该函数返回一个整型的socket描述符,随后的连接建立、数据传输等操作都是通过该socket实现的。常用的socket类型有两种:流式socket (SOCK_STREAM)和数据报式socket(SOCK_DGRAM)。流式是一种面向连接的socket,针对于面向连接的TCP服务应用;数据报式socket是一种无连接的socket,对应于无连接的UDP服务应用。
二、Socket创建
socket函数原型为:
#include <sys/types.h>
#include <sys/socket.h>
int socket(int domain, int type, int protocol);
功能:调用成功,返回socket文件描述符;失败,返回-1,并设置errno 参数说明:
domain指明所使用的协议族,通常为PF_INET,表示互联网协议族