Linux Socket编程实例

Linux Socket编程实例

ID:41032348

大小:51.50 KB

页数:5页

时间:2019-08-14

Linux Socket编程实例_第1页
Linux Socket编程实例_第2页
Linux Socket编程实例_第3页
Linux Socket编程实例_第4页
Linux Socket编程实例_第5页
资源描述:

《Linux Socket编程实例》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、LinuxSocket编程实例(一个HelloWorld程序)在Linux下写了个小的socket程序,分为客户端和服务器端,服务端开一个端口(2000),做为一个daemon,等待客户的连接请求.一旦有客户连接,服务器端打印出客户端的IP地址和端口,并且向服务器端发送欢迎信息和时间.下面是服务端的代码(tcpserver.c).由于这只是个简单的程序,所以只用了单线程实现!Cpp代码1./** 2. * Tcp Server program, It is a simple example only. 3. * zhengsh 200520602061 2 4

2、. * when client connect to server, send a welcome message and timestamp in server. 5. */  6.   7.#include   8.#include   9.#include   10.#include   11.#include   12.#include   13.#include   14.   15.#defin

3、e SERVER_PORT 20000 // define the defualt connect port id  16.#define LENGTH_OF_LISTEN_QUEUE 10 //length of listen queue in server  17.#define BUFFER_SIZE 255  18.#define WELCOME_MESSAGE "welcome to connect the server. "  19.   20.   21.int main(int argc, char **argv)  22.{  23.    

4、   int servfd,clifd;  24.       struct sockaddr_in servaddr,cliaddr;  25.   26.       if ((servfd = socket(AF_INET,SOCK_STREAM,0)) < 0)  27.       {  28.              printf("create socket error!");  1.              exit(1);  2.       }  3.       bzero(&servaddr,sizeof(servaddr));

5、  4.       servaddr.sin_family = AF_INET;  5.       servaddr.sin_port = htons(SERVER_PORT);  6.       servaddr.sin_addr.s_addr = htons(INADDR_ANY);  7.   8.       if (bind(servfd,(struct sockaddr*)&servaddr,sizeof(servaddr))<0)  9.       {  10.              printf("bind to port %d f

6、ailure!",SERVER_PORT);  11.              exit(1);  12.       }  13.   14.       if (listen(servfd,LENGTH_OF_LISTEN_QUEUE) < 0)  15.       {  16.              printf("call listen failure!");  17.              exit(1);  18.       }  19.   20.       while (1)  21.       {//server l

7、oop will nerver exit unless any body kill the process  22.              char buf[BUFFER_SIZE];  23.              long timestamp;  24.              socklen_t length = sizeof(cliaddr);  25.              clifd = accept(servfd,(struct sockaddr*)&cliaddr,&length);  26.              if (c

8、lifd < 0)  27.     

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。