Socket有关问题
Socket问题
最近在学JAVA,看到Socket这章,里面有这样一个例子
主要是实现客户端与服务器端的通讯,但是为什么在我的电脑上运行就是不行
我先启动服务器端,再去启动客户端,但是当客户端一启动的时候服务器端就出现这样的错误:Error:java.lang.nullpointerException
客户端也会提示这样的错误:Error:java.net.socketException:Connection reset
哪位大哥帮忙下啊,感激不尽啊
这个是客户端代码:
import java.net.*;
import java.io.*;
public class SingleClient {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
Socket clientsocket = new Socket( "127.0.0.1 ",4350);
BufferedReader breader1 = new BufferedReader(new InputStreamReader(System.in));
PrintWriter prinout = new PrintWriter(clientsocket.getOutputStream());
BufferedReader breader2 = new BufferedReader(new InputStreamReader(clientsocket.getInputStream()));
System.out.print( "请输入你要聊天的信息: ");
String linestring = breader1.readLine();
while(!linestring.equals( "finished "))
{
prinout.println(linestring + "\n ");
prinout.flush();
System.out.print( "Client : " + linestring + "\n ");
System.out.print( "Server: " + breader2.readLine() + "\n ");
System.out.print( "请再输入聊天信息: ");
linestring = breader1.readLine();
}
prinout.close();
breader2.close();
clientsocket.close();
}
catch(Exception e)
{
System.out.print( "Client Error: " + e);
}
}
}
这个是服务端代码:
import java.net.*;
import java.io.*;
public class SingleServer {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
ServerSocket serversocket = null;
try
{
serversocket = new ServerSocket(4350);
}
catch(Exception e)
{
System.out.print( "Con 't Connection to the client! ");
}
Socket myclient = null;
try
{
serversocket.accept();
}
catch(Exception e)
{
System.out.print( "the Error is " + e);
}
String readstring;
BufferedReader serverreader1 = new BufferedReader(new InputStreamReader(myclient.getInputStream()));
PrintWriter serverprint = new PrintWriter(myclient.getOutputStream());
BufferedReader serverreader2 = new BufferedReader(new InputStreamReader(System.in));
System.out.print( "Clinet: " + serverreader1.readLine());
System.out.print( "请在服务器端输入你要聊天的信息: ");
readstring = serverreader2.readLine();
while(!readstring.equals( "finished "))
{
serverprint.println(readstring + "\n ");
serverprint.flush();
System.out.print( "Server: " + readstring + "\n ");
最近在学JAVA,看到Socket这章,里面有这样一个例子
主要是实现客户端与服务器端的通讯,但是为什么在我的电脑上运行就是不行
我先启动服务器端,再去启动客户端,但是当客户端一启动的时候服务器端就出现这样的错误:Error:java.lang.nullpointerException
客户端也会提示这样的错误:Error:java.net.socketException:Connection reset
哪位大哥帮忙下啊,感激不尽啊
这个是客户端代码:
import java.net.*;
import java.io.*;
public class SingleClient {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
Socket clientsocket = new Socket( "127.0.0.1 ",4350);
BufferedReader breader1 = new BufferedReader(new InputStreamReader(System.in));
PrintWriter prinout = new PrintWriter(clientsocket.getOutputStream());
BufferedReader breader2 = new BufferedReader(new InputStreamReader(clientsocket.getInputStream()));
System.out.print( "请输入你要聊天的信息: ");
String linestring = breader1.readLine();
while(!linestring.equals( "finished "))
{
prinout.println(linestring + "\n ");
prinout.flush();
System.out.print( "Client : " + linestring + "\n ");
System.out.print( "Server: " + breader2.readLine() + "\n ");
System.out.print( "请再输入聊天信息: ");
linestring = breader1.readLine();
}
prinout.close();
breader2.close();
clientsocket.close();
}
catch(Exception e)
{
System.out.print( "Client Error: " + e);
}
}
}
这个是服务端代码:
import java.net.*;
import java.io.*;
public class SingleServer {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
ServerSocket serversocket = null;
try
{
serversocket = new ServerSocket(4350);
}
catch(Exception e)
{
System.out.print( "Con 't Connection to the client! ");
}
Socket myclient = null;
try
{
serversocket.accept();
}
catch(Exception e)
{
System.out.print( "the Error is " + e);
}
String readstring;
BufferedReader serverreader1 = new BufferedReader(new InputStreamReader(myclient.getInputStream()));
PrintWriter serverprint = new PrintWriter(myclient.getOutputStream());
BufferedReader serverreader2 = new BufferedReader(new InputStreamReader(System.in));
System.out.print( "Clinet: " + serverreader1.readLine());
System.out.print( "请在服务器端输入你要聊天的信息: ");
readstring = serverreader2.readLine();
while(!readstring.equals( "finished "))
{
serverprint.println(readstring + "\n ");
serverprint.flush();
System.out.print( "Server: " + readstring + "\n ");