`
dawuafang
  • 浏览: 1192158 次
文章分类
社区版块
存档分类
最新评论

可以多次接收客户端响应的上一个Socket程序

 
阅读更多

package guoxp.bingosoft.learning.socket;

import java.io.*;
import java.io.InputStream;
import java.net.*;

public class SocketLearn extends Thread {
/**
* guorabbit 2008/07/27 Socket编程,改用循环形式接收客户端的响应.
*/
private Socket s;
public SocketLearn(Socket s) {
this.s = s;
}
public void run() {
try {
OutputStream os = s.getOutputStream();
InputStream is = s.getInputStream();
os.write("Hello,This is server.Welcome.".getBytes());
byte[] buf = new byte[100];
int len = is.read(buf);
System.out.println(new String(buf, 0, len));
os.close();
is.close();
s.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {

if (args.length > 0)
server();
else
client();
}
public static void server() {
try {
ServerSocket ss = new ServerSocket(6000);
while (true) {
Socket s = ss.accept();
new SocketLearn(s).start();
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void client() {
try {
Socket s = new Socket(InetAddress.getByName(null), 6000);
OutputStream os = s.getOutputStream();
InputStream is = s.getInputStream();
os.write("Hi.This is guo!".getBytes());
byte[] buf = new byte[100];
int len = is.read(buf);
System.out.println(new String(buf, 0, len));
os.close();
is.close();
s.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

分享到:
评论

相关推荐

    socket客户端,可连接多个服务器

    在这个特定的场景中,我们讨论的是一个设计为连接多个服务器的Socket客户端。这个客户端程序能够向多个服务端发送消息,并且在消息中携带自身的ID,以便服务端识别消息来源。此外,它还具备了自动重连功能,即在非...

    服务器和客户端进程的简单SOCKET通讯

    - **监听(Listen)**:服务器创建一个Socket,并绑定到特定的IP地址和端口上,然后调用listen函数开始监听来自客户端的连接请求。 - **接受(Accept)**:当有客户端请求连接时,服务器调用accept函数,接收连接...

    利用socket连续发送与连续接收数据

    - 当接收完三次数据后,服务器可以将处理结果通过`Socket`的`OutputStream`写回给客户端。 2. **客户端实现:** - 创建`Socket`实例,指定服务器的IP地址和端口号,建立连接。例如: ```java Socket ...

    C-S Socket实验客户端

    在这个实验中,我们将使用Socket API在C-S模式下构建一个可以相互交流的客户端。 Socket是Internet协议族的一部分,它提供了一种标准的接口,使得应用程序能够通过TCP/IP协议进行数据传输。TCP(Transmission ...

    Socket服务器端断开后重新打开,客户端将自动完成链接

    在"socketThread"这个标签下,我们可以推断这个实现可能涉及到了多线程处理,即每个客户端连接都在独立的线程中运行,确保了服务器的并发性能。 至于"压缩包子文件的文件名称列表"中的"kanglu",这可能是项目或代码...

    一个简单的socket客户端发送消息到服务器端程序

    Socket编程是计算机网络编程中的重要组成部分,特别是在TCP/IP协议栈中...通过"一个简单的socket客户端发送消息到服务器端程序"的学习,初学者可以逐步掌握网络通信的核心概念,并为更复杂的网络应用开发打下坚实基础。

    SuperSocket 入门,实现客户端和服务端消息互发

    SuperSocket 提供了一个高效、灵活的平台,使得开发者可以快速构建Socket应用程序,尤其适合需要实现客户端与服务器之间实时通信的场景。通过以上步骤,你将能够成功地搭建一个基础的SuperSocket客户端和服务端,...

    利用socket实现客户端服务器之间简单通信

    4. 第四次挥手:客户端接收到FIN包后,发送一个ACK包作为回应,然后进入TIME_WAIT状态,等待一段时间确保服务器接收到ACK后,连接完全关闭。 在Python中,我们可以使用内置的socket库来实现客户端和服务器的通信。`...

    Python实现一个服务器监听多个客户端请求

    学习Python网络通信的时候发现书上只有一个服务端对应一个客户端的情形,于是自己想自己动手实现一个服务端响应多个客户端。 首先建立服务器的socket来监听客户端的请求: tcpSerSock=socket(AF_INET,SOCK_STREAM) ...

    QT的TCP一个服务端连接多个客户端

    在本文中,我们将深入探讨如何使用QT来实现一个TCP服务器,该服务器可以同时连接并处理多个客户端的请求。 首先,我们需要了解TCP(传输控制协议)的基本原理。TCP是一种面向连接的、可靠的、基于字节流的传输层...

    qt tcp 一个服务端对多个客户端

    在IT领域,网络通信是软件开发中的...通过以上步骤,你可以使用Qt构建一个支持多个客户端连接的TCP服务器。这个过程中,理解TCP协议的工作原理,熟练使用Qt的网络模块,以及灵活运用多线程编程,都是至关重要的技能。

    基于TCP/IP的Socket多线程通信(服务器和客户端)

    - **发送/接收线程**:连接成功后,客户端可以创建多个线程来发送或接收数据,这样可以同时进行数据的发送和接收,提高效率。 6. **多线程通信中的同步与互斥**:为了防止线程间的资源竞争,需要使用锁(如互斥量...

    c# Socket 多线程 分包 发送/接受数据

    在Socket通信中,多线程可以用来分别处理接收和发送数据,或者处理多个客户端连接,避免因为单线程的阻塞导致整个程序的响应变慢。例如,一个线程负责接收数据,另一个线程负责处理接收到的数据并发送响应。 3. **...

    VC异步Socket TCP/UDP通信,有客户端和服务器

    这两个函数可以将Socket与窗口消息或事件关联,当Socket有新的连接、数据接收或发送完成等事件发生时,系统会发送消息或触发事件,程序根据这些消息或事件来处理相应的网络操作。 对于TCP通信,我们需要创建Server...

    Socket客户端连接源码

    在Java中,可以使用`ServerSocket`类来监听端口,`accept()`方法用于接收客户端连接: ```java ServerSocket serverSocket = new ServerSocket(8080); while (true) { Socket clientSocket = serverSocket.accept...

    TCP_socket.rar_TCP socket客户端_TCP_Socket_socket_socket 客户端

    在IT领域,网络通信是不可或缺的一部分,而TCP(Transmission Control Protocol)套接字...此外,还可以扩展客户端功能,如添加多线程处理多个连接、实现非阻塞I/O或者使用异步I/O模型等,以提升程序的效率和用户体验。

    SOCKET 网络编程 计算机网络 作业 客户端 服务器端 client svever

    Socket可以理解为网络上的两个应用程序之间建立的一种通信连接,它允许数据在客户端和服务器之间双向传输。Socket分为流式Socket(TCP)和数据报Socket(UDP)两种类型。TCP提供面向连接的服务,确保数据的可靠传输...

    java多线程+Socket+Swing做的局域网聊天程序

    总的来说,"java多线程+Socket+Swing做的局域网聊天程序"是一个综合性的项目,涵盖了Java基础、网络编程以及GUI设计等多个方面,对于学习和理解Java应用开发具有很高的实践价值。通过这样的项目,开发者可以提升对...

    socket客户端长连接实现以及xml文件解析

    对于长连接,其主要特点是保持连接状态,在连接建立后,可以进行多次数据传输,而不是每次交互都创建新的连接。这在高并发、低延迟的应用场景下尤为有用,例如在线游戏、实时数据推送等。 实现一个socket客户端的长...

    文件接收客户端源码

    总结,"文件接收客户端源码"是一个综合性的项目,涵盖了C++和C语言编程、MFC GUI开发、网络通信协议的运用、文件操作以及客户端服务器交互的设计等多个方面的知识。通过深入学习和理解这个源码,开发者可以提升自己...

Global site tag (gtag.js) - Google Analytics