Unix网络编程 4- TCP编程

上传人:我*** 文档编号:136516135 上传时间:2020-06-28 格式:PPT 页数:32 大小:295.50KB
返回 下载 相关 举报
Unix网络编程 4- TCP编程_第1页
第1页 / 共32页
Unix网络编程 4- TCP编程_第2页
第2页 / 共32页
Unix网络编程 4- TCP编程_第3页
第3页 / 共32页
Unix网络编程 4- TCP编程_第4页
第4页 / 共32页
Unix网络编程 4- TCP编程_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《Unix网络编程 4- TCP编程》由会员分享,可在线阅读,更多相关《Unix网络编程 4- TCP编程(32页珍藏版)》请在金锄头文库上搜索。

1、Unix网络编程,第四讲 TCP socket 编程,Unix和TCP/network的关系,TCP的特点 协议特点 实现特点 编程特点,TCP Sockets Programming,创建一个 被动模式的 (server) socket. 建立TCP 连接. 发送/接收 数据. 关闭连接.,TCP C/S 编程,创建一个 TCP socket,int socket(int family,int type,int proto); int sock; sock = socket( PF_INET, SOCK_STREAM, 0); if (sock 0) 11 if ( (nwritten =

2、write(fd, ptr, nleft) = 0) 12 if (nwritten 0 21 ,readline,1 #include unp.h 3 ssize_t /* PAINFULLY SLOW VERSION - example only */ 4 readline(int fd, void *vptr, size_t maxlen) 5 6 ssize_t n, rc; 7 char c, *ptr; 8 ptr = vptr; 9 for (n = 1; n 0) 9 Writen(sockfd, buf, n); 10 if (n 0 14 ,Echo client,1 #i

3、nclude unp.h 2 int main(int argc, char *argv) 4 5 int sockfd; 6 struct sockaddr_in servaddr; 7 if (argc != 2) 8 err_quit(usage: tcpcli ); 9 sockfd = Socket(AF_INET, SOCK_STREAM, 0); 10 bzero( 17 ,str_cli() 函数,1 #include unp.h 2 void str_cli(FILE *fp, int sockfd) 4 5 char sendlineMAXLINE, recvlineMAX

4、LINE; 6 while (Fgets(sendline, MAXLINE, fp) != NULL) 7 Writen(sockfd, sendline, strlen (sendline); 8 if (Readline(sockfd, recvline, MAXLINE) = 0) 9 err_quit(str_cli: server terminated prematurely); 10 Fputs(recvline, stdout); 11 12 ,测试,linux % tcpserv01 & linux % netstat -a Active Internet connectio

5、ns (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:9877 *:* LISTEN linux % netstat -a Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:9877 *:* LISTEN,测试,linux % tcpcli01 127.0.0.1 linu

6、x % netstat -a Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 local host:9877 localhost:42758 ESTABLISHED tcp 0 0 local host:42758 localhost:9877 ESTABLISHED tcp 0 0 *:9877 *:* LISTEN linux % ps -t pts/6 -o pid,ppid,tty,stat,args

7、,wchan PID PPID TT STAT COMMAND WCHAN 22038 22036 pts/6 S -bash wait4 17870 22038 pts/6 S ./tcpserv01 wait_for_connect 19315 17870 pts/6 S ./tcpserv01 tcp_data_wait 19314 22038 pts/6 S ./tcpcli01 127.0 read_chan,测试,linux % tcpcli01 127.0.0.1 hello, world hello, world good bye good bye D Control-D is

8、 our terminal EOF character linux % netstat -a | grep 9877 tcp 0 0 *:9877 *:* LISTEN tcp 0 0 localhost:42758 localhost:9877 TIME_WAIT linux % ps -t pts/6 -o pid,ppid,tty,stat,args,wchan PID PPID TT STAT COMMAND WCHAN 22038 22036 pts/6 S -bash read_chan 17870 22038 pts/6 S ./tcpserv01 wait_for_connect 19315 17870 pts/6 Z tcpserv01 defu do_exit,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号