cyq11111111 2016-07-09 07:08 采纳率: 25%
浏览 2326

socket连接,关于String index out of range:-1?求大神帮忙!

为什么客户端一发消息,服务器端就出现String index out of range:-1?
服务器程序:
import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.io.PrintWriter;

import java.net.ServerSocket;

import java.net.Socket;
public class teste implements Runnable

{

public String latitude,longitude;
public int i=0;
public void run()

{

try
{

//创建ServerSocket

ServerSocket serverSocket = new ServerSocket(8080);

while (true)

{

//接受客户端请求

Socket client = serverSocket.accept();

System.out.println("accept");

try
{

//接收客户端消息

BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));

String str = in.readLine();

System.out.println(" "+str);
in.close();

            }  
            catch (Exception e)  
            {  
                System.out.println(e.getMessage());  
                e.printStackTrace();  
            }  
            finally 
            {  
                //关闭 
                socket.close();
                serverSocket.close();
                client.close();
            }
        } 
    }  
    catch (Exception e)  
    {  
        System.out.println(e.getMessage());  
    }  
}
//main函数,开启服务器  
public static void main(String[] args)  
{  
    Thread desktopServerThread = new Thread(new teste());  
    desktopServerThread.start();  
}  

}
客户端程序:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class SocketClient {
public static void main(String[] args) {
try {
Socket socket =new Socket("192.168.1.238",8080);
socket.setSoTimeout(60000);

        PrintWriter printWriter =new PrintWriter(socket.getOutputStream(),true);
        BufferedReader bufferedReader =new BufferedReader(new InputStreamReader(socket.getInputStream()));

        String result ="";
        while(result.indexOf("bye") == -1){
            BufferedReader sysBuff =new BufferedReader(new InputStreamReader(System.in));
            printWriter.println(sysBuff.readLine());
            printWriter.flush();

            result = bufferedReader.readLine();
            System.out.println("Server say : " + result);
        }

        printWriter.close();
        bufferedReader.close();
        socket.close();
    }catch (Exception e) {
        System.out.println("Exception:" + e);
    }
}

}

  • 写回答

2条回答

  • Robot-C 2016-07-09 07:11
    关注

    com.ibatis.common.jdbc.exception.NestedSQLException:   
    --- The error occurred in com/company/basicdata/app/module/domain/sqlmapping/price_center_SqlMap.xml.  
    --- The error occurred while preparing......
    答案就在这里:String index out of range: -1
    ----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格