Java Socket、ServerSocket单线程简单实例

本文通过Java内置库展示了一个简单的服务端和多个客户端交互的例子。服务端使用ServerSocket的accept()方法监听客户端连接,一旦连接建立,即可通过Socket对象进行数据收发。客户端创建Socket连接服务器,双方在循环中保持连接状态,随时准备接收和发送信息。需要注意的是,由于采用单线程模式,服务端会按顺序处理每个客户端的请求,如果客户端在发送请求后立即关闭Socket,可能会导致'Connection reset by peer: socket write error'的错误。
摘要由CSDN通过智能技术生成

用java自带的类库实现一个服务端和多个客户端收发信息的例子。

服务器的程序直接用一个mian方法启动的Server端来实现:

package test;


import java.io.DataOutputStream;
import java.io.IOException;  
import java.net.ServerSocket;  
import java.net.Socket;  
  
/** 
 * 单线程Web服务器 
 *  
 * @author deron
 *  
 */  
public class SingleThreadWebServer  
{  
  
    public static void main(String[] args) throws IOException  
    {  
        ServerSocket server = new ServerSocket(7711);  
        while (true)  
        {  
            Socket client = server.accept();
            System.out.println("新增连接:"+client.getInetAddress()+":"+client.getPort());
            handleReq(client);  
        }  
    }  
  
    /** 
     * 处理请求 
     * @param client 
     */  
    private static void handleReq(Socket client)  
    {  
    	System.out.println("处理客户端请求");
        try {
			DataOutputStream outputStream=new DataOutputStream(client.getOutp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值