`
liufei.fir
  • 浏览: 686225 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

基本socket通信

阅读更多
#include <stdio.h>
#include <signal.h>
#include <string.h>
#include <stdlib.h>
#include <pthread.h>
#include <sys/select.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <linux/in.h>
#include <unistd.h>
#include <fcntl.h>


int main()
{
	int max,i;
	int fd = 0;
	int se_num;
	int sock,client_sock;
	int num;
	fd_set rset;
	char buf[512];
	struct sockaddr_in server_addr;
	struct sockaddr client_addr;
	int len = sizeof(struct sockaddr);
	server_addr.sin_family = AF_INET;
	server_addr.sin_port = htons(2631);
	/* it is ok */
	//server_addr.sin_addr.s_addr = htonl(0x7f000001);
	inet_aton("127.0.0.1",&server_addr.sin_addr);
	int fl_sock;

	if((sock = socket(AF_INET,SOCK_STREAM,0)) < 0) {
		perror("socket");
		return -1;
	}

	if((bind(sock,(struct sockaddr *)&server_addr,sizeof(struct sockaddr))) < 0) {
		perror("bind");
		return -1;
	}
	if((listen(sock,5)) < 0) {
		perror("listen");
		return -1;
	}

	if((client_sock = accept(sock,&client_addr,&len)) < 0) 
	{
		perror("accept");
		return -1;
	}
	fprintf(stderr,"client_sock = %d\n",client_sock);
	while(1) {
		memset(buf,0,sizeof(buf));
		if((num=read(client_sock,buf,sizeof(buf))) == 0) {
			fprintf(stderr,"client is closed\n");
			return -1;
		}
		printf("client(num=%d): %s\n",num,buf);
	}
}
#include <stdio.h>
#include <signal.h>
#include <stdlib.h>
#include <string.h>
#include <pthread.h>
#include <sys/select.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <linux/in.h>
#include <unistd.h>
#include <fcntl.h>

void sig_pipe(int a)
{
	printf("receive signal pipe\n");
	exit(-1);
}
int main()
{
	int sock,client_sock;
	fd_set rset;
	int num;
	char buf[] = "hello world\0r";
	struct sockaddr_in server_addr;
	struct sockaddr client_addr;
	int len = sizeof(struct sockaddr);
	server_addr.sin_family = AF_INET;
	server_addr.sin_port = htons(2631);
	inet_aton("127.0.0.1",&server_addr.sin_addr);

	signal(SIGPIPE,sig_pipe);
	if((sock = socket(AF_INET,SOCK_STREAM,0)) < 0) {
		perror("socket");
		return -1;
	}
	if(connect(sock,(struct sockaddr *)&server_addr,sizeof(struct sockaddr)) < 0) {
		perror("connect");
		return -1;
	}
	while(1) {
		printf("write %d\n",write(sock,buf,sizeof(buf)));
		sleep(1);
	}

}
分享到:
评论

相关推荐

    socket通信 c程序

    通过以上步骤,我们可以实现C语言中的基本Socket通信。在实际项目中,可能还需要考虑多线程、异步I/O、SSL加密等高级特性,以满足更复杂的需求。如果你正在使用名为`SocketComSimulator`的程序,它很可能是为了模拟...

    windows下socket通信代码

    在Windows环境下进行网络编程时,Socket通信是一种常用的技术。Socket接口是操作系统提供的网络通信API...通过实践上述代码,初学者可以掌握Windows下Socket通信的基本原理和操作,为进一步深入网络编程打下坚实基础。

    Python基本socket通信控制操作示例

    本文实例讲述了Python基本socket通信控制操作。分享给大家供大家参考,具体如下: python — 基本socket通信控制(控制在celie.txt文件中主机IP地址可以发送信息,并返回对应的客户端IP、时间戳、发送的信息) ...

    C#Socket通信稳定完整版类库实例

    Socket通信在IT行业中是网络编程的基础,特别是在C#这样的多平台开发环境中,Socket通信库的使用至关重要。...通过理解Socket通信的基本原理和C#中的相关类库,开发者可以构建出高效、稳定的服务端和客户端应用程序。

    Mina+Socket通信

    Socket通信的基本步骤包括:创建ServerSocket,等待客户端连接,创建Socket对象,通过输入/输出流进行数据交换,最后关闭连接。 在Mina与Socket通信的实现中,服务端通常使用Mina来创建一个Acceptor,监听特定端口...

    c++ socket通信库

    **C++ Socket通信库** C++ Socket通信库是用于实现网络通信的一种工具,它基于操作系统提供的Socket接口,为开发者提供了一种在C++程序中进行网络数据交换的标准方法。Socket库简化了网络编程,允许程序员通过调用...

    matlab环境下socket通信

    首先,要理解Socket通信的基本概念。Socket可以视为通信的两端,一个作为服务器端(Server Socket),等待客户端的连接请求;另一个作为客户端端(Client Socket),主动发起连接请求。一旦连接建立,双方就可以通过...

    简单的socket通信

    在本文中,我们将深入探讨"简单的socket通信",包括服务端和客户端的基本概念、实现方式以及如何在Visual Studio 2015环境下进行开发。 首先,我们需要了解什么是Socket。Socket在计算机网络中是一个接口,它为应用...

    C#与Android Socket通信

    Socket通信是一种基于TCP/IP协议族的网络通信方式,它允许两个...以上是C#和Android间Socket通信的基本原理和实现方式,实际开发中还需要根据具体业务需求进行调整优化,例如数据序列化、心跳检测、断线重连等功能。

    Socket通信基本流程图.docx

    Socket 通信基本流程图 在计算机网络通信中,Socket 是一...Socket 通信基本流程图是 Socket 通信机制的核心组成部分,了解 Socket 通信基本流程图对于深入理解 Socket 通信机制和解决 Socket 通信问题具有重要意义。

    android+pc socket通信

    综上所述,Android与PC之间的Socket通信涉及TCP协议的理解、Socket编程的基本步骤、异常处理、权限管理以及可能的第三方库使用。开发者需要对这些知识点有深入的了解和实践,才能实现稳定、高效的网络通信。

    socket通信文件传输

    Socket通信是一种基于TCP/IP协议族实现的网络通信方式,它允许两台计算机通过网络进行双向通信。在文件传输中,Socket通信提供了一种灵活、高效的方法,尤其适用于大数据量或者跨平台的文件交换。以下是对Socket通信...

    socket通信完整实例

    以上就是Socket通信的基本流程和原理,实际应用中,可能还需要处理异常、超时、多线程/多进程等问题,以提高程序的健壮性和并发能力。通过学习和实践Socket通信,你将能够构建起网络应用的基础,例如聊天程序、文件...

    Android socket通信聊天,客户端+服务端

    在Android平台上进行网络通信时,Socket通信是一种常见且重要的方式,尤其在实现聊天应用时。本文将深入探讨如何在Android中实现基于Socket的客户端和服务端通信,以构建一个简单的聊天应用。 首先,让我们理解...

    socket通信,客户端向服务器传文件

    首先,我们需要理解Socket通信的基本流程: 1. **服务器端**: - 创建`ServerSocket`实例,指定一个端口号,监听该端口等待客户端连接。 - 使用`accept()`方法接收客户端的连接请求,这会阻塞直到有客户端连接。 ...

    c# Socket 通信 源码

    C#中的Socket通信是网络编程中的重要组成部分,它允许程序通过网络进行数据交换。Socket提供了低级别的、面向连接的、基于TCP/IP协议的通信服务。在这个"**c# Socket通信源码**"中,我们主要会看到客户端和服务器端...

    Socket通信.zip

    Socket通信是计算机网络编程中的重要概念,特别是在C#这样的高级编程语言中,它提供了一种在不同设备间进行数据传输的机制。本压缩包“Socket通信.zip”包含了一个基于C#实现的Socket通信实例,主要涉及到TCP协议的...

    MFC编程实现socket通信

    而Socket通信则是网络编程的基础,它允许不同计算机之间的应用程序进行数据交换。本篇文章将深入探讨如何使用MFC来实现Socket通信。 首先,我们需要了解Socket接口的基本概念。Socket是一种低级别的网络通信接口,...

    C# 编程Socket通信详解

    C#编程Socket通信详解 C# Socket通信详解是指在C#编程语言中,使用Socket实现网络通信的过程。Socket是网络编程的基础概念,指的是在网络通信中,一个进程连接另一个进程的 endpoint 的抽象表示。 在C#中,...

    android socket通信demo

    3. **Android Socket通信的基本流程** - **服务器端(Server)**: - 创建ServerSocket,指定监听的端口号。 - 使用ServerSocket的`accept()`方法等待客户端连接,返回一个Socket对象。 - 通过Socket对象的输入...

Global site tag (gtag.js) - Google Analytics