Linux网络编程简介

来源:互联网 发布:北大光华在职mba知乎 编辑:程序博客网 时间:2024/04/26 09:03

    如果你已经熟悉Windows上的网络编程,那么转入Linux的网络编程是非常容易的。因为它们都使用socket api进行编程。以下范例代码演示了一个最简单的服务端程序。该程序在一个循环内不断监听接受新的连接,然后为每个连接创建一个新的线程来进行IO处理。 IO处理部分也是用最简单的,收到什么数据就返回什么数据。这种模型(per-conn-per-thread)较为简单,但效率也较低,效率要求高的服务一般不采用这种模型。
//编译方法:gcc filename.cpp -lstdc++ -lpthread

#include <arpa/inet.h>
#include 
<iostream>
#include 
<sys/socket.h>
#include 
<netinet/in.h>
#include 
<sys/types.h>
#include 
<errno.h>
#include 
<string>
#include 
<pthread.h>
using namespace std;

void *wrk_thread(void *parg);

void *wrk_thread(void *parg)
{//IO处理线程
    int peer =*((int *)parg);
    
int err = 0;
    
char buf[4096= {'

 

原创粉丝点击