歡迎來到Linux教程網
設為首頁
加入收藏
Linux教程網
首頁
Linux基礎
Linux管理
Linux編程
Linux綜合
Unix知識
Linux教程網
>>
Linux編程
>>
Linux編程
>> Linux 網絡編程簡單實例
Linux 網絡編程簡單實例
日期:2017/3/1 10:26:02   编辑:Linux編程
當然此處僅僅是對於單用戶請求的處理,對於多用戶的請求後面再說!
對於server處理:
server要做的就是創建自己的套接字,然後設置一些參數:例如協議類型,IP之類。
然後就是bind參數,再次就是監聽( listen),最後就是accept進入睡眠等待狀態,if
有cilent的請求就會有反應!
對於chient的處理:
建立自己的套接字,然後就是連接到server,發送自己的數據,然後等待server的回送!
server.cpp
#include<stdio.h>
#include<stdlib.h>
#include<errno.h>
#include<string.h>
#include<sys/types.h>
#include<sys/wait.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include <iostream>
using namespace std;
#define PORT6000
//!> 端口
#define MAX_REQ5
//!> 監聽情況下:在請求隊列中允許的最大請求數
int main()
{
intlisten_socket,client_socket;
//!> 監聽,客戶套接字
structsockaddr_inlocal_addr;
//!> server結構
structsockaddr_inclient_addr;
//!> client結構
intrecv_len;
charbuf[1024];
charrecv_buf[1024];
//!>
intsocket(int domain, int type, int protocol);參數:協議族;套接字類型;協議,一般為0->TCP/IP
//!> 創建套接字
//!>
if((listen_socket = socket(AF_INET,SOCK_STREAM, 0)) ==-1)
//!> 創建套接字
{
cout << "創建server套接字失敗~"<< endl;
exit(1);
}
//!> 下面設置本地的套接字的參數結構
//!>
local_addr.sin_family =AF_INET;
//!> 代表TCP/IP
local_addr.sin_port =htons(PORT);