0 0

TCPServer的send和write有什么区别?0

require "socket"  
 
server = TCPServer.new('127.0.0.1', 20000)  
print "Server started\n"
loop do  
  Thread.start(server.accept) do |s|  
#  puts s.to_hash
  print(s, " is accepted\n")  
  str="hello world"
      begin 
         puts "sending ... " +str
         s.send(str)
    #s.write(msg)
         sleep 2

      rescue Exception => e
		   print s
		  print(s, " is gone\n")  
		  s.close  
      end 
    end 
end  


如果是send 用任意客户端连接就会报错  远程主机强迫关闭了一个现有的连接
但是用write就可以,这两个方法有什么区别吗?
2012年11月15日 12:26

1个答案 按时间排序 按投票排序

0 0

send的参数是2个吧? 文档:  http://www.ruby-doc.org/stdlib-1.9.3/libdoc/socket/rdoc/BasicSocket.html

2012年11月16日 10:32

相关推荐

    c++ TcpServer简单16进制

    在IT行业中,网络编程是不可或缺的一部分,而TCP服务器(TcpServer)则是实现网络通信的核心组件。本主题聚焦于使用C++编程语言构建一个简单的TCP服务器,处理16进制数据。16进制(Hexadecimal)是一种数字表示方式...

    TCP server程序

    在TCP连接建立后,数据的传输是通过`read()`和`write()`(或其变体如`recv()`和`send()`)函数进行的。服务器通常会在接收完客户端的数据后进行处理,然后再发送响应数据。这个过程可以是简单的数据交换,也可以是...

    tcp_server源码

    例如,可能会有一个`TcpServer`类,其中包含`start()`、`stop()`、`acceptConnection()`等方法,分别对应服务器的启动、停止和接受连接的操作。 在`tcp_server`这个文件中,我们可以预见到包含上述步骤的代码实现,...

    单线程阻塞tcp server&client程序

    5. 读写(Read/Write):使用recv和send函数进行数据的接收和发送。 6. 关闭(Close):完成通信后,关闭套接字。 对于“TCP Client”,其主要任务是建立与Server的连接,并发送或接收数据。客户端通常包含以下步骤...

    wince下tcp server/client

    在Windows CE(简称Wince)环境下进行TCP Server和Client的开发是一项重要的嵌入式系统网络编程任务。Windows CE是微软推出的面向小型设备的操作系统,它为各种嵌入式设备提供了丰富的开发环境。在这个环境中实现TCP...

    Linux下TCP/IP的Server、Client源码

    本文将深入讲解如何使用C语言编写Linux下的TCP/IP服务器(Server)和客户端(Client)程序,并通过提供的压缩包文件“TCPIP”中的源代码进行解析。 首先,我们要理解TCP/IP的基本工作原理。TCP(Transmission ...

    TCP_SOKET.rar_TCP client_soket编程_tcp_tcp server_visual c

    在提供的“TCP SOKET.rtf”文件中,可能包含了关于如何在Visual C++中具体实现TCP Server和Client的代码示例,包括如何配置项目设置、包含必要的头文件、导入Winsock库以及实际的代码实现。这些示例代码可以帮助初学...

    server_for_tcp_witherrorproc.rar_TcpServer

    在本压缩包“server_for_tcp_witherrorproc.rar_TcpServer”中,主要包含了一个名为“server2.c”的源代码文件,这是一个实现TCP服务器端的程序,适用于Linux环境,并且具有错误处理机制,对于网络编程初学者来说是...

    tcp.rar_tcp server linux

    在Linux环境下,TCP(Transmission Control Protocol)是一种广泛用于网络通信的传输层协议,因其可靠性和效率而备受青睐。本文将深入探讨如何在Linux系统中构建一个TCP服务器,以实现客户端和服务端之间的通信。 ...

    c tcpserver

    总之,“c tcpserver”项目是关于如何使用C语言构建一个TCP服务器的实践,涵盖了网络编程中的许多核心概念和技术。通过深入理解这些知识点并结合实际代码,可以增强对网络编程的理解,并能构建自己的TCP服务器应用...

    tcp server

    "tcp server" 描述的是一个简单的TCP服务器的实现,"bbbbbbbbbbbbbbbbbbbbbbbbb" 可能是描述中的省略部分,可能是对服务器功能的简单介绍或使用方法的概述,但由于信息不完整,我们将重点围绕TCP服务器的构建和工作...

    linux_xp_tcp.zip_linux_tcp server linux

    标题"linux_xp_tcp.zip_linux_tcp server linux"表明这是一个关于Linux TCP服务器和WinXP客户端的实现。下面,我们将深入探讨这个主题,包括TCP协议的基本概念、Linux TCP服务器的搭建以及如何在WinXP环境下构建TCP...

    server_client_app.zip_TCPserver app_clients.c

    本项目“server_client_app.zip”包含了一个简单的TCP服务器应用程序(TCPserver)以及客户端应用(app_clients.c),它们用于演示如何实现多客户端连接到同一服务器的场景。 首先,我们来看服务器端。TCP服务器的...

    tcp_send.tar.gz

    在"tcp_send"这个示例中,我们可以推测它可能包含了客户端(client)和服务器端(server)两个部分的代码,分别演示如何建立连接、发送数据和接收数据。客户端会先创建socket,然后连接到服务器的指定端口,接着发送...

    对一个对端已经关闭的socket调用两次write, 第二次将会生成SIGPIPE信号, 该信号默认结束进程.zip

    5. **使用send()和recv()替代write()和read()**:send()和recv()函数提供了更多的控制,比如可以设置MSG_NOSIGNAL标志,防止产生SIGPIPE信号。 在实际编程中,避免SIGPIPE信号的出现至关重要,因为它可能导致服务不...

    TCP收发json. 客户端和服务端

    在IT行业中,网络通信是软件开发中的重要环节,TCP(Transmission Control Protocol)作为一种可靠的传输协议,...此外,也可以加深对QT Creator和TCP编程的理解,这对于进行网络通信相关的开发工作是非常有帮助的。

    TCP服务器和客户端C++类,提供简单的TCP通讯功能.zip

    - **接收与发送数据**:TcpServer类会有接收客户端发送数据的函数,如recv或read,以及向客户端发送数据的函数,如send或write。这些函数通常会包含错误处理和数据完整性检查。 - **多线程处理**:为了处理多个...

    TCP服务器和客户端连接例子

    在项目压缩包中,可能包含的是这两个类的源代码文件,分别命名为"TCPServer.cs"和"TCPClient.cs",你可以根据需要编译运行,观察客户端和服务器之间的交互。通过这个例子,开发者可以学习到如何构建网络通信应用的...

    socket send和recv详解

    Socket 编程中的 send 和 recv 函数详解 在 Socket 编程中,send 和 recv 函数是最基本的网络通信函数。它们用于在客户端和服务端之间传递数据。在 TCP/IP 协议中,send 函数用于将数据发送到服务端,而 recv 函数...

    tcp_server_client:精简的C ++ TCP客户端服务器

    此外,`tcp_server_client`项目中的`tcp_server_client-master`目录很可能包含了完整的源代码和示例,这为学习和理解TCP套接字编程提供了实践基础。 通过理解并掌握这些基础知识,开发者可以创建出满足特定需求的...

Global site tag (gtag.js) - Google Analytics