Моей программой сервераНевозможно общаться между клиентом и сервером
import java.net.*;
import java.io.*;
public class MultiServe implements Runnable
{
static ServerSocket ss;
static Socket s;
public void run()
{
String name=Thread.currentThread().getName();
for(;;)
{
try
{
System.out.println("thread:"+name+"ready to accept");
s=ss.accept();
System.out.println("thread:"+name+" accepted");
PrintStream ps=new PrintStream(s.getOutputStream());
ps.println("Thread"+name+"contacted You");
String sz,str1;
BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
BufferedReader bk=new BufferedReader(new InputStreamReader(System.in));
while(true)
{
while((sz=br.readLine())!=null)
{
System.out.println(sz);
str1=bk.readLine();
ps.close();
br.close();
bk.close();
s.close();
}
}
}catch(Exception e){}
}
}
public static void main(String args[]) throws IOException
{
MultiServe ms=new MultiServe();
ss=new ServerSocket(8080);
Thread t=new Thread(ms,"one");
Thread t1=new Thread(ms,"two");
t.start();
t1.start();
}
}
Моим клиентом программой
import java.net.*;
import java.io.*;
public class MultiClient
{
public static void main(String args[])throws Exception
{
Socket s=new Socket("localhost",8080);
BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
String str,str1;
DataOutputStream ds=new DataOutputStream(s.getOutputStream());
BufferedReader bk=new BufferedReader(new InputStreamReader(System.in));
while(!(str=bk.readLine()).equals("exit"))
{
ds.writeBytes(str+"\n");
str1=br.readLine();
System.out.println(str1);
}
ds.close();
bk.close();
br.close();
s.close();
}
}
Новыми в программировании сокетов, но я могу подключиться, но не в состоянии общаться. Я не знаю, зашел ли он в тупик. Оба подключаются, но они не получают никаких сообщений.
Предложение, не глотать исключений. если вы посмотрите на свой код, вы прочитаете строку, а затем сразу же закроете? –