写的聊天程序,server端运行后有下面错误
Exception in thread "main" java.net.BindException:Address already in use:JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:331)
at java.net.ServerSocket.bind(ServerSocket.java:318)
at java.net.ServerSocket.<init>(ServerSocket.java.185)
at java.net.ServerSocket.<init>(ServerSocket.java.97)
at Server1.main(Server1.java:7)
小弟初学java,看不懂,请高手指点,告诉小弟该如何修改,不胜感激,代码如下:
import java.net.*;
import java.io.*;
public class Server1
{
public static void main(String[] args) throws IOException
{
ServerSocket ss=new ServerSocket(10000);
Socket s=null;
String toClient;
try{
System.out.println("等待客户端连接");
while(true)
{
s=ss.accept();
String ip=""+s.getInetAddress();
System.out.println("IP:"+ip+"登陆");
try{
new ReceiveClientThread(s);
}catch(Exception e){s.close();} }
}catch(IOException e){System.err.println("Failed to connect");}
}
}
class ReceiveClientThread extends Thread{
private Socket s;
private DataInputStream datain;
private DataOutputStream dataout;
private BufferedReader in;
String toClient;
String fromClient;
public ReceiveClientThread(Socket socket) throws IOException {
s=socket;
datain=new DataInputStream(s.getInputStream());
dataout=new DataOutputStream(s.getOutputStream());
in=new BufferedReader(new InputStreamReader(System.in));
start();}
public void run()
{
try{
while(true){
fromClient=datain.readUTF(); System.out.println("client说:"+fromClient);
if(fromClient.equals("quit"))
{
System.out.println("Client exit");
break;
}
toClient=in.readLine();
dataout.writeUTF(toClient);
}
}catch(Exception e){}
}
}
Exception in thread "main" java.net.BindException:Address already in use:JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:331)
at java.net.ServerSocket.bind(ServerSocket.java:318)
at java.net.ServerSocket.<init>(ServerSocket.java.185)
at java.net.ServerSocket.<init>(ServerSocket.java.97)
at Server1.main(Server1.java:7)
小弟初学java,看不懂,请高手指点,告诉小弟该如何修改,不胜感激,代码如下:
import java.net.*;
import java.io.*;
public class Server1
{
public static void main(String[] args) throws IOException
{
ServerSocket ss=new ServerSocket(10000);
Socket s=null;
String toClient;
try{
System.out.println("等待客户端连接");
while(true)
{
s=ss.accept();
String ip=""+s.getInetAddress();
System.out.println("IP:"+ip+"登陆");
try{
new ReceiveClientThread(s);
}catch(Exception e){s.close();} }
}catch(IOException e){System.err.println("Failed to connect");}
}
}
class ReceiveClientThread extends Thread{
private Socket s;
private DataInputStream datain;
private DataOutputStream dataout;
private BufferedReader in;
String toClient;
String fromClient;
public ReceiveClientThread(Socket socket) throws IOException {
s=socket;
datain=new DataInputStream(s.getInputStream());
dataout=new DataOutputStream(s.getOutputStream());
in=new BufferedReader(new InputStreamReader(System.in));
start();}
public void run()
{
try{
while(true){
fromClient=datain.readUTF(); System.out.println("client说:"+fromClient);
if(fromClient.equals("quit"))
{
System.out.println("Client exit");
break;
}
toClient=in.readLine();
dataout.writeUTF(toClient);
}
}catch(Exception e){}
}
}
解决方案 »
- 我想将一个list里的数据飞开,每20条为一个单元,应该怎么做
- java在从oracle数据库SELECT数据的时候,怎样设置roundtrip每次读取的字节数?谢谢
- 求教如何用图片表示一个JButton
- 删除一张出库单,删除明细的代码放在主表的DAO还是主表的service中。
- 关于list的问题
- jdk里面有没有直接判断一个数是偶数还是奇数的方法
- if(item.getValueString()==null)不执行?
- java 编译如何能吧下图搞出来?也就是编译结束吧cmd命令跳出?新人自学
- Java中有没有日期加减的函数?
- Java实现打印一下图形,支持任意大小的奇数行(可接收命令行参数)。
- sql语句中使用java变量问题,高人指路啊!!
- 初学者请教构建器的问题
Exception in thread "main" java.lang.OutOfMemoryError
我查了API也没看懂是什么意思,楼上大哥能再给讲讲么?
import java.net.*;
import java.io.*;
public class Client1
{
public static void main(String[] args) throws IOException
{
Socket s=null;
String toServer;
try{
s=new Socket("192.0.0.168",6666); System.out.println("you have connected the server");
while(true)
{ try{
new ReceiveServerThread(s);
}catch(Exception e){s.close();} }
}catch(IOException e){System.err.println("Failed to connect");}
}
}
class ReceiveServerThread extends Thread{
private Socket s;
private DataInputStream datain;
private DataOutputStream dataout;
private BufferedReader in;
String toServer;
String fromServer;
public ReceiveServerThread(Socket socket) throws IOException {
s=socket;
datain=new DataInputStream(s.getInputStream());
dataout=new DataOutputStream(s.getOutputStream());
in=new BufferedReader(new InputStreamReader(System.in));
start();}
public void run()
{
try{
while(true){
fromServer=datain.readUTF();
System.out.println("server说:"+fromServer);
if(fromServer.equals("quit"))
{
System.out.println("Server exit");
break;
}
toServer=in.readLine();
dataout.writeUTF(toServer);
}
}catch(Exception e){}
}
}
flush()怎么用,先关闭还是先刷新?请楼上两位给我讲讲,谢谢阿
在线等
private Socket s;
private DataInputStream datain;
private DataOutputStream dataout;
private BufferedReader in;
String toServer;
String fromServer;
public ReceiveServerThread(Socket socket) throws IOException {
s=socket;
datain=new DataInputStream(s.getInputStream());
dataout=new DataOutputStream(s.getOutputStream());
in=new BufferedReader(new InputStreamReader(System.in));
start();}
public void run()
{
try{
while(true){
fromServer=datain.readUTF();
System.out.println("server说:"+fromServer);
if(fromServer.equals("quit"))
{
System.out.println("Server exit");
break;
}
toServer=in.readLine();
dataout.writeUTF(toServer);
}
}catch(Exception e){}
finally
{
dataout.flush();
in.flush();
datain.flush();dataout.close();in.close();datain.close();
}
}
}
Server1.java:58:cannot resolve symbol
symbol:method flush()
location:class java.io.BufferedReader
in.flush();
^Server1.java:59:cannot resolve symbol
symbol:method flush()
location:class java.io.DataInputStream
datain.flush();
^这是怎么回事?
.close();then:
= null;
我写的最基本的聊天程序,400行代码。
呵呵
有没有和我这个差不多的?