作者chairs (皮人卡计画 委员)
看板java
标题[问题] socket 传输输入字串的问题
时间Sun Apr 9 11:58:38 2006
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)