unix c++的socket编程(TCP)

本文详细介绍了如何在Unix环境下使用C++进行TCP Socket编程,包括服务器端(tcp_server.cc)和客户端(tcp_client.cc)的实现。服务器端通过socket()、bind()、listen()和accept()函数监听并接受连接请求,客户端则通过socket()和connect()函数建立连接,并实现数据的读写交互。示例代码展示了如何处理输入的端口号、IP地址以及数据的发送和接收。
摘要由CSDN通过智能技术生成
在unix下编写c++ 的socket
服务端
tcp_server.cc  

// -----------------------------------------server program---------------------------

#include 
< iostream >
using   namespace  std;
#include 
< sys / socket.h >
#include 
< unistd.h >
#include 
< netinet / in .h >
#include 
< arpa / inet.h >
#include 
< signal.h >
#include 
< sys / wait.h >

/*struct in_addr{
    in_addr_t s_addr;    
};
struct sockaddr_in{
    
    sa_family_t sin_family;
    in_port_t sin_port;
    struct in_addr sin_addr;
    
};
*/

// ---------read/write function----------
void  req_proc( int  s, char * );

void  fn( int  sig) {
    
int pid = wait(NULL);
    cout 
<< "child   " << pid << "   clear" << endl;
    signal(SIGCHLD,fn);    

}

int  main()
{
    
if(signal(SIGCHLD,fn)==SIG_ERR){
        cout 
<< "capture signal error" << endl;
        exit(
0);
}
    
//1,socket(),create socket.
int fd = socket(AF_INET,SOCK_STREAM,0);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值