`
axengine
  • 浏览: 145646 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Linux TCP服务器 客户端

阅读更多
#include <stdlib.h> 
#include <stdio.h> 
#include <errno.h> 
#include <string.h> 
#include <netdb.h> 
#include <sys/types.h> 
#include <netinet/in.h> 
#include <sys/socket.h> 

#define portnumber 3333

int main(int argc, char *argv[]) 
{
	char data[100]={};
	while(1)
	{
		printf("inout data\n");
		scanf("%s",&data);
		if(fd=open("file",O_APPEND)==-1)
			printf("File open error\n");
		if(fw=write(fd,data)==-1)
			printf("file write error\n");
		else
			printf("data write succuss\n");
		network();
	}
	return 0;
}
void network(void)
{ 
	int sockfd; 
	char buffer[1024]; 
	struct sockaddr_in server_addr; 
	struct hostent *host; 
	int nbytes; 

    /* 使用hostname查询host 名字 */
/*	if(argc!=2) 
	{ 
		fprintf(stderr,"Usage:%s hostname \a\n",argv[0]); 
		exit(1); 
	} 

	if((host=gethostbyname(argv[1]))==NULL) 
	{ 
		fprintf(stderr,"Gethostname error\n"); 
		exit(1); 
	} 
*/

	/* 客户程序开始建立 sockfd描述符 */ 
	if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1) // AF_INET:Internet;SOCK_STREAM:TCP
	{ 
		fprintf(stderr,"Socket Error:%s\a\n",strerror(errno)); 
		exit(1); 
	} 

	/* 客户程序填充服务端的资料 */ 
	bzero(&server_addr,sizeof(server_addr)); // 初始化,置0
	server_addr.sin_family=AF_INET;          // IPV4
	server_addr.sin_port=htons(portnumber);  // (将本机器上的short数据转化为网络上的short数据)端口号
	server_add.sin_addr=127.0.0.1;
	//	server_addr.sin_addr=*((struct in_addr *)host->h_addr); // IP地址
	
	/* 客户程序发起连接请求 */ 
	if(connect(sockfd,(struct sockaddr *)(&server_addr),sizeof(struct sockaddr))==-1) 
	{ 
		fprintf(stderr,"Connect Error:%s\a\n",strerror(errno)); 
		exit(1); 
	} 

	/* 连接成功了 */ 
	/*if((nbytes=read(sockfd,buffer,1024))==-1) 
	{ 
		fprintf(stderr,"Read Error:%s\n",strerror(errno)); 
		exit(1); 
	} */
	if((nbytes=write(sockfd,buffer,1024))==-1) 
	{ 
		fprintf(stderr,"Read Error:%s\n",strerror(errno)); 
		exit(1); 
	} 
	//buffer[nbytes]='\0';
	
	//printf("I have received:%s\n",buffer); 

	/* 结束通讯 */ 
	close(sockfd); 
	exit(0); 
} 
 
分享到:
评论

相关推荐

    linux tcpmodbus客户端

    Linux TCPModbus客户端是用于与使用Modbus协议的设备进行通信的一种软件工具。Modbus是一种广泛应用的工业通信协议,尤其在自动化系统中,它允许不同设备间的简单数据交换。TCPModbus是Modbus协议的网络版本,通过...

    Linux TCP服务器与客户端

    本篇主要探讨Linux环境下的TCP服务器与客户端的实现及其相关知识点。 首先,TCP服务器是提供服务的一方,它监听特定端口,等待客户端的连接请求。在Linux中,我们通常使用socket编程接口来创建TCP服务器。这个接口...

    linux服务器客户端1对1聊天

    标题“linux服务器客户端1对1聊天”表明我们将构建一个简单的聊天系统,其中服务器能够与单个客户端进行通信。这个系统的核心部分包括服务器端(server1.c)和客户端(client1.c)的代码。 1. **服务器端(server1.c...

    linux TCP聊天室 服务器,客户端

    本项目是一个基于Linux的TCP聊天室,它实现了用户注册、登录、私聊、群聊以及超级用户的一些管理功能,如禁言和踢人。这个系统是用多线程技术构建的,确保了在高并发环境下的稳定性和性能。下面我们将详细探讨这些...

    linuxC版TCP客户端和服务端源码

    本篇将详细解析Linux C语言实现的TCP客户端和服务端的源码,帮助你深入理解TCP通信的机制。 首先,让我们来看看`TCP_Server`。这个文件包含了服务器端的源代码,它会监听特定的端口,等待客户端的连接请求。服务器...

    linux TCP服务器连接时发不出数据

    本文主要探讨了在Linux环境下,当TCP服务器与客户端建立连接后,服务器在某些情况下无法向客户端正常发送数据的问题。具体场景为:服务器与两个客户端进行连接,并通过epoll机制实现非阻塞模式下的通信。客户端会...

    Linux+Ubuntu+QT Tcp通信,分为客户端和服务端

    在这个项目中,“Linux+Ubuntu+QT Tcp通信”涉及的是使用QT库在Linux Ubuntu环境下实现TCP/IP协议的客户端和服务端通信。 TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,它确保了数据...

    以前写过的linux下tcp多客户端通信程序

    总之,这个项目展示了如何在Linux下构建一个简单的TCP服务器,以同时处理多个客户端的连接请求,以及对应的TCP客户端程序,用于与服务器进行数据交换。通过深入理解这些代码和相关网络编程概念,开发者可以进一步...

    tcp服务器 接受客户端数据

    本篇文章将深入探讨TCP服务器如何接受客户端数据,并基于经典的VC6(Visual C++ 6.0)开发环境进行回复操作。 首先,TCP是面向连接的协议,这意味着在数据传输之前,必须先建立一个可靠的连接。这个过程通过三次...

    tcp_source.rar_LINUX TCP _tcp linux_tcp 客户端_tcp传输

    Linux操作系统中,开发者可以利用TCP协议进行网络编程,实现服务器和客户端之间的通信。本资源“tcp_source.rar”包含了在Linux环境下实现TCP客户端和服务端的示例代码。 首先,我们关注"server.c"文件,这是TCP...

    Linux下TCP通信测试代码,包含服务端和客户端

    1. 连接:TCP是面向连接的协议,即在通信前,客户端和服务器必须先建立连接。这通常涉及到三次握手的过程。 2. 可靠性:TCP提供了序列号和确认机制,确保数据按照正确的顺序到达且无丢失,即使在网络不稳定的情况下...

    socket linux c & windows c# windows客户端,服务器程序和linux下客户端,服务器程序。一共四个经典程序并有详细的注释。细细的阅读,一定会有收获。

    在本资源中,包含了Linux C语言和Windows C#平台下的服务器和客户端程序,覆盖了TCP协议的实现。接下来,我们将深入探讨这些知识点。 1. **Socket接口**: Socket是操作系统提供的一个接口,它允许应用程序通过...

    TCp.rar_Linux服务端_TCP客户端_linux tcp 客户端_socks_tcp 多线程

    本资料"TCP.rar"着重介绍了如何在Linux环境下利用多线程技术实现TCP客户端,并与服务端进行稳定、高效的数据交互。以下是基于标题、描述和标签所涉及的知识点的详细解释: 1. **Linux服务端**:Linux作为一款开源...

    跨平台tcp socket 客户端服务端(C++源码)

    跨平台C++ tcp socket 客户端服务端源码 适用于linux window mac系统

    linux并发回音服务器与客户端

    在Linux系统中,实现并发回音服务器和客户端是学习网络编程和多线程技术的一个经典实践。这个项目涉及到了许多核心的计算机科学概念,包括网络通信、进程管理、并发处理和I/O操作。以下是关于这个主题的详细知识阐述...

    linux下网络编程TCP客户端和服务器端数据传输代码

    在提供的压缩包中,`linux下网络编程TCP客户端数据传输代码`应包含客户端的源码,而`linux下网络编程TCP服务器端数据传输代码`则包含服务器端的源码。在实际使用前,务必阅读readme.txt文件,了解代码的运行环境、...

    linux tcp服务器压力测试

    在Linux环境中进行TCP服务器压力测试是一项关键的任务,它有助于评估和优化服务器的性能,确保在高并发场景下系统的稳定性和可扩展性。TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,广泛...

    TCP实现客户端与服务器端聊天

    在Linux环境中实现TCP网络Socket编程是一项基础且重要的IT技能,特别是在构建客户端与服务器端的通信系统时。TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,常用于实现互联网上的点对...

    LINUX 服务器端PHP客户端 TCP 聊天程序

    在这个场景中,我们关注的是一个基于LINUX服务器端和PHP客户端的TCP聊天程序。这个程序利用了socket通信来实现实时的数据交互,允许用户通过PHP客户端与Linux服务器进行对话。下面我们将深入探讨相关知识点。 首先...

    chenjinyi.tar.gz_Linux tcp 设计_linux 传输文件_linux服务器 客户端 文件传输 设计

    2. **Linux服务器和客户端**:在Linux环境下,服务器和客户端可以通过TCP协议通信。服务器通常监听特定端口,等待客户端的连接请求,而客户端则主动发起连接并发送数据。 3. **文件传输设计**:设计一个文件传输...

Global site tag (gtag.js) - Google Analytics