[問題] socket 傳輸輸入字串的問題
server
import java.net.*;
import java.io.*;
public class server
{
public static void main (String[] args) throws IOException
{
ServerSocket socket = new ServerSocket(8123);
//while (true)
//{
Socket nclient = socket.accept();
//BufferedReader sin = new BufferedReader(new InputStreamReader(insocket.getInputStream()));
PrintWriter pout = new PrintWriter(nclient.getOutputStream(), true);
pout.print("Connection from " +nclient.getInetAddress().getHostAddress());
pout.print("today is ");
pout.println(new java.util.Date().toString());
pout.println("select 1 or 2");
BufferedReader in = new BufferedReader (new InputStreamReader(nclient.getInputStream()));
PrintWriter out = new PrintWriter (nclient.getOutputStream(), true);
String instring = in.readLine();
out.println("The server got this: " + instring);
nclient.close();
pout.close();
nclient.close();
socket.close();
System.out.print("connect close");
//}
}
}
client
import java.net.*;
import java.io.*;
public class client
{
public static void main(String[] args) throws UnknownHostException, IOException
{
Socket socket=new Socket("127.0.0.1",8123);
//Socket ClientSocket = new Socket();
/*
InputStream in = socket.getInputStream();
BufferedReader bin = new BufferedReader(new InputStreamReader(in));
String line;
while((line=bin.readLine())!= null)
System.out.println(line);
*/
int character;
InputStream in = socket.getInputStream();
OutputStream out = socket.getOutputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//String str=br.readLine(); //這段被我註解掉了 原因就是 當我要這樣輸入的時候他都會停住 似乎無法判斷 我輸入的字元已經完成了
String str = "Hello!\n"; //直接傳字串 ok
//System.out.println(str);
byte buffer[] = str.getBytes();
out.write(buffer);
while ((character = in.read()) != -1) {
System.out.print((char) character);
}
socket.close();
}
}
原因就是我有註解的 地方 他會卡住
是我哪邊出錯了呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.220.193
※ 編輯: chairs 來自: 220.132.220.193 (04/09 11:59)
討論串 (同標題文章)
java 近期熱門文章
PTT數位生活區 即時熱門文章
14
39