TCP/IP 网络编程

本文介绍了TCP/IP网络编程的基本步骤,包括服务端的socket创建、bind、listen和accept,以及客户端的connect操作。同时,讨论了如何在服务端实现多线程模式,以便对每个连接的客户端进行单独通信。
摘要由CSDN通过智能技术生成

TCP/IP 网络编程

一,查看源代码

服务端

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <netdb.h>
#include <unistd.h>
#include <errno.h>
#include <signal.h>
#include <sys/wait.h>
#include <string.h>
#include <arpa/inet.h>
#include <pthread.h>
#include <stdlib.h>
#include <ctype.h>
//TODO: 某些头文件
#define MAX_BUFFER 1024

void* thread_function(void* arg_array) {
   
    int nr_bytes_read, char_index;
    char receive_and_send_buffer[MAX_BUFFER],*p;
    int* p_arg = (int*)arg_array;
    int thread_session_socket = *p_arg;
    printf("thread_session_socket = %d\n", thread_session_socket);
    while (1) {
   
        nr_bytes_read = read(thread_session_socket, receive_and_send_buffer, 1024);//TODO: 尝试从socket读取

        if(nr_bytes_read == -1)//TODO: 如果错误,或没能从socket读取字符
            break;

        printf("Message from client(%d): %s\n", nr_bytes_read, receive_and_send_buffer);
        for (p = receive_and_send_buffer; *p != '\0'; p++)
		*p = toupper(*p); //TODO: 转换为大写
        write(thread_session_socket, receive_and_send_buffer,1024); //TODO: 返回给客户端
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值