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 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀