上机040

1. 查看while源代码

(1)socket函数

简介:socket函数对应于普通文件的打开操作。普通文件的打开操作返回一个文件描述字,而socket()用于创建一个socket描述符(socket descriptor),它唯一标识一个socket。这个socket描述字跟文件描述字一样,后续的操作都有用到它,把它作为参数,通过它来进行一些读写操作。

(2)accept函数

简介:TCP服务器端依次调用socket()、bind()、listen()之后,就会监听指定的socket地址了。TCP客户端依次调用socket()、connect()之后就向TCP服务器发送了一个连接请求。TCP服务器监听到这个请求之后,就会调用accept()函数取接收请求,这样连接就建立好了。

(3)服务器listen,客户端connect

简介:listen函数的第一个参数即为要监听的socket描述字,第二个参数为相应socket可以排队的最大连接个数。socket()函数创建的socket默认是一个主动类型的,listen函数将socket变为被动类型的,等待客户的连接请求。

connect函数的第一个参数即为客户端的socket描述字,第二参数为服务器的socket地址,第三个参数为socket地址的长度。客户端通过调用connect函数来建立与TCP服务器的连接。

2.编译并在ubuntu下运行

(1)编译

gcc -o server-while-tcp.out server-while-tcp.c
gcc -o client.out client.c
(2)运行

./server-while-tcp.out
./client.out 192.168.139.128

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjg4NzAzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjg4NzAzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16 

 3. 修改服务器为多线程模式

(1)过程

多线程发送数据,即一个服务器对应多个客户端,最多可以同时监听10个客户端。

客户端向服务器发起连接请求,成功后打印连接信息。

客户端向服务器发送数据后,服务器端打印数据。

服务器将得到的数据全部转换为大写后返回到客户端。

客户端打印出从服务器端返回的数据。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjg4NzAzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjg4NzAzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjg4NzAzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16 

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjg4NzAzMTE=,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值