刚学java不久,很新,早上刚写了一个聊天程序,server端和client端都能运行,但是client端输入文字server端怎么也收不到,请求大师们给小弟一点帮助。
Server端:
import java.io.*;
import java.net.*;
public class TestSockServer {
public static void main(String[] args) {
InputStream in = null;
OutputStream out = null;
try {
ServerSocket ss = new ServerSocket(4888);
Socket socket = ss.accept();
in = socket.getInputStream();
out = socket.getOutputStream();
DataOutputStream dos = new DataOutputStream(out);
dos.writeUTF("a client is connect: 输入一行文字");
DataInputStream dis = new DataInputStream(in);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println(dis.readUTF());
String line = null;
line = br.readLine();
while(!line.equalsIgnoreCase("bye")) {
dos.writeUTF(line);
dos.flush();
System.out.println(dis.readUTF());
line = br.readLine();
}
dis.close();
dos.close();
br.close();
socket.close();
} catch (IOException e) {e.printStackTrace();}
}
}Client端:
import java.net.*;
import java.io.*;
public class TestSockClient {
public static void main(String[] args) {
InputStream is = null; OutputStream os = null;
try {
Socket socket = new Socket("127.0.0.1",4888);
is = socket.getInputStream();
os = socket.getOutputStream();
DataInputStream dis = new DataInputStream(is);
System.out.println(dis.readUTF());
DataOutputStream dos = new DataOutputStream(os);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();
while(!line.equalsIgnoreCase("bye"));
{
dos.writeUTF(line);
dos.flush();
System.out.println(dis.readUTF());
line = br.readLine();
}
br.close();
dis.close();
dos.close();
socket.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {e.printStackTrace();}
}
}小弟刚注册 分少, 只能给这么多,多多包涵
Server端:
import java.io.*;
import java.net.*;
public class TestSockServer {
public static void main(String[] args) {
InputStream in = null;
OutputStream out = null;
try {
ServerSocket ss = new ServerSocket(4888);
Socket socket = ss.accept();
in = socket.getInputStream();
out = socket.getOutputStream();
DataOutputStream dos = new DataOutputStream(out);
dos.writeUTF("a client is connect: 输入一行文字");
DataInputStream dis = new DataInputStream(in);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println(dis.readUTF());
String line = null;
line = br.readLine();
while(!line.equalsIgnoreCase("bye")) {
dos.writeUTF(line);
dos.flush();
System.out.println(dis.readUTF());
line = br.readLine();
}
dis.close();
dos.close();
br.close();
socket.close();
} catch (IOException e) {e.printStackTrace();}
}
}Client端:
import java.net.*;
import java.io.*;
public class TestSockClient {
public static void main(String[] args) {
InputStream is = null; OutputStream os = null;
try {
Socket socket = new Socket("127.0.0.1",4888);
is = socket.getInputStream();
os = socket.getOutputStream();
DataInputStream dis = new DataInputStream(is);
System.out.println(dis.readUTF());
DataOutputStream dos = new DataOutputStream(os);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();
while(!line.equalsIgnoreCase("bye"));
{
dos.writeUTF(line);
dos.flush();
System.out.println(dis.readUTF());
line = br.readLine();
}
br.close();
dis.close();
dos.close();
socket.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {e.printStackTrace();}
}
}小弟刚注册 分少, 只能给这么多,多多包涵
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;import com.serial.bean.UserBean;public class Server {
public static void main(String[] args) throws ClassNotFoundException {
try {
// 指定端口
ServerSocket server = new ServerSocket(8888);
System.out.println("服务端打开,等待连接...."); Socket socket = server.accept();
System.out.println(socket.getPort()); ObjectInputStream in = new ObjectInputStream(socket
.getInputStream());
UserBean user;
user = (UserBean) in.readObject();
File file = new File("/root/server.bat");
if (!file.exists()) {
file.createNewFile();
} ObjectOutputStream out = new ObjectOutputStream(
new FileOutputStream(file));
out.writeObject(user);
} catch (IOException e) {
e.printStackTrace();
} }
}
clientpackage com.serial.net;import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.UnknownHostException;import com.serial.bean.UserBean;public class Client {
public static void main(String[] args) {
try {
Socket scoket = new Socket("127.0.0.1", 8888);
UserBean user = new UserBean(1, "djw", "chenzhou", "12345678910");
ObjectOutputStream out = new ObjectOutputStream(scoket
.getOutputStream());
out.writeObject(user);
out.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}