服务机程序如下:
import java.io.*;
import java.net.*;
public class TestServer {
public static void main(String args[]){
try{
ServerSocket portnum = new ServerSocket(7000);
Socket clientSocket = portnum.accept();
DataInputStream dis = new DataInputStream(clientSocket.getInputStream());
new ServerReader(dis).start();
}catch(IOException e){
e.printStackTrace();
}
}
static class ServerReader extends Thread{
DataInputStream dis;
public ServerReader(DataInputStream dis){
this.dis = dis;
} public void run(){
String info;
try{
while(true){
info = dis.readUTF();
System.out.println(info);
}
} catch(IOException he){
he.printStackTrace();
}
}
}
}
客户机程序如下:
import java.io.*;
import java.net.*;
public class TestClient {
public static void main(String args[]){
try {
Socket s1 = new Socket("127.0.0.1" ,7000);
DataOutputStream os= new DataOutputStream(s1.getOutputStream());
InetAddress host = null;
os.writeUTF("客户主机名为:" +host.getHostName() );
}catch(IOException e){
e.printStackTrace();
}
}
}
想在服务机打印出客户机的主机名 运行后却得不到想要的结果 本人是菜鸟 不知道上面程序问题出现在哪里? 谢谢指教....
import java.io.*;
import java.net.*;
public class TestServer {
public static void main(String args[]){
try{
ServerSocket portnum = new ServerSocket(7000);
Socket clientSocket = portnum.accept();
DataInputStream dis = new DataInputStream(clientSocket.getInputStream());
new ServerReader(dis).start();
}catch(IOException e){
e.printStackTrace();
}
}
static class ServerReader extends Thread{
DataInputStream dis;
public ServerReader(DataInputStream dis){
this.dis = dis;
} public void run(){
String info;
try{
while(true){
info = dis.readUTF();
System.out.println(info);
}
} catch(IOException he){
he.printStackTrace();
}
}
}
}
客户机程序如下:
import java.io.*;
import java.net.*;
public class TestClient {
public static void main(String args[]){
try {
Socket s1 = new Socket("127.0.0.1" ,7000);
DataOutputStream os= new DataOutputStream(s1.getOutputStream());
InetAddress host = null;
os.writeUTF("客户主机名为:" +host.getHostName() );
}catch(IOException e){
e.printStackTrace();
}
}
}
想在服务机打印出客户机的主机名 运行后却得不到想要的结果 本人是菜鸟 不知道上面程序问题出现在哪里? 谢谢指教....
解决方案 »
- Panel的分行处理
- 请问:如何将媒体播放器嵌入应用界面当中?
- update date类型的数据之后抛出如下异常,请问我犯了什么错??
- JList问题
- 如何屏蔽树节点的双击事件
- 求一个简单好用的Java程序编辑器,最好在1M以内.谢谢
- 数据库中表字段的比较
- 在什么情况下重载paint()或paintComponent(),我不知道怎么办?
- SCJP证书要多久才能收到!
- 我是一个初学java的虾米,我只有一些基础的C语言知识,我现在用的学习教程是Thinking for java ,但很多东西多不好理解,请问各位,我该用什么书才比较快入门呢,请推荐,谢谢.
- [求助]这种写法为什么通不过
- 明天复试,继续来点意见
import java.io.*;
import java.net.*;
public class TestServer {
public static void main(String args[]){
try{
ServerSocket portnum = new ServerSocket(7000); Socket clientSocket = portnum.accept();
BufferedReader dis = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
new ServerReader(dis).start();
}catch(IOException e){
e.printStackTrace();
}
}
static class ServerReader extends Thread{
BufferedReader dis;
public ServerReader(BufferedReader dis){
this.dis = dis;
} public void run(){
String info;
try{
//while(true)
{
info = dis.readLine();
System.out.println(info);
}
} catch(IOException he){
he.printStackTrace();
}
}
}
}
//以下是客户机
import java.io.*;
import java.net.*;
public class TestClient {
public static void main(String args[]){
try {
Socket s1 = new Socket("127.0.0.1" ,7000);
PrintWriter os= new PrintWriter(s1.getOutputStream());
InetAddress host = null;
os.println("客户主机名为:" +host.getLocalHost().getHostName() );
os.flush();
os.close();
}catch(IOException e){
e.printStackTrace();
}
}
}