首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Linux C 网络编程——4. 容易TCP Socket程序

2013-11-04 
Linux C 网络编程——4. 简单TCP Socket程序根据图中的流程,实现一个最简单的TCP程序。1. 客户端功能:发送一

Linux C 网络编程——4. 简单TCP Socket程序

根据图中的流程,实现一个最简单的TCP程序。

Linux C 网络编程——4. 容易TCP Socket程序

1. 客户端

功能:发送一个字符串给服务器

/* ============================================================================ Name        : SimpleSockTCPServer.c Author      : wistone Version     : Copyright   : 2012 - 2015 Description : Simple Socket Server ============================================================================ */#include <stdio.h>#include <stdlib.h>#include <arpa/inet.h>#include <sys/socket.h>int main( int argc , char ** argv ){struct sockaddr_in saddr, caddr;char buf[100] ;char str[100] ;int listenfd, connfd;int addr_len;listenfd = socket( AF_INET, SOCK_STREAM, 0 );memset ( &saddr, 0, sizeof(saddr) );memset( buf, 0, 100 );memset( buf, 0, 100 );saddr.sin_family = AF_INET;saddr.sin_port = htons( 8001 );saddr.sin_addr.s_addr = htonl( INADDR_ANY ); //any addressbind( listenfd, (struct sockaddr *)&saddr, 16 );listen( listenfd, 20 );printf( "Accepting connections ... \n" );int i, n;while(1){addr_len = sizeof( caddr );connfd = accept( listenfd, (struct sockaddr*)&caddr, &addr_len );//n = read( listenfd, buf, 100 );n = recv( listenfd, buf, 100, 0  );printf("Recive from %s : %d \n",  inet_ntop( AF_INET, &caddr.sin_addr, str, sizeof(str) ), ntohs(caddr.sin_port) );for(i=0; i<n; i++){buf[i] = toupper( buf[i] );}//write( connfd, buf, n+1 );send( connfd, buf, n+1, 0 );printf("Send : %s \n", buf);close( connfd );}return 0;}

3. 参考

[1] Linux C编程一站式学习

[2] Linux 网络编程

热点排行