用java socket 写一个简单的 聊天 客户端与服务器端之间 都能实现 一个不

 我来答
asowychun
推荐于2018-03-22 · TA获得超过207个赞
知道小有建树答主
回答量:785
采纳率:0%
帮助的人:323万
展开全部
客户端代码:
package net;
import java.net.*;
import java.io.*;
public class socketclient {
public static void main(String[] args) {
Socket s = null;
InputStream is = null;
DataInputStream d = null;
OutputStream os = null;
DataOutputStream ds = null;
try {
s = new Socket("127.0.0.1", 1555);
is = s.getInputStream();
d = new DataInputStream(is);
os = s.getOutputStream();
ds = new DataOutputStream(os);
System.out.println(d.readUTF() + " from " + s.getPort());
String content = null;
while (true) {
content = new BufferedReader(new InputStreamReader(System.in))
.readLine();
ds.writeUTF("port# " + s.getLocalPort() + " says " + content
+ " to " + s.getPort());
ds.flush();
if (content.equalsIgnoreCase("Bye"))
break;
}
} catch (ConnectException e) {
System.out.println(e.getMessage());
e.printStackTrace();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
ds.close();
os.close();
d.close();
is.close();
s.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
服务器端代码:
package net;

import java.net.*;
import java.io.*;

public class socketserver {
public static void main(String[] args) {
Socket s = null;
OutputStream out = null;
DataOutputStream ds = null;
InputStream is = null;
DataInputStream d = null;
try {
ServerSocket ss = new ServerSocket(1555);
s = ss.accept();
out = s.getOutputStream();
ds = new DataOutputStream(out);
is = s.getInputStream();
d = new DataInputStream(is);
} catch (IOException e) {
e.printStackTrace();
}
try {
String content = null;
ds.writeUTF("Hello " + s.getInetAddress() + " port#"
+ s.getPort());
ds.flush();
while (true) {
content = d.readUTF();
System.out.println(content);
if (content.equalsIgnoreCase("Bye"))
break;
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
ds.close();
out.close();
d.close();
is.close();
s.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Eking2000
2012-04-12 · TA获得超过1228个赞
知道小有建树答主
回答量:1471
采纳率:0%
帮助的人:728万
展开全部
我有一个已经实现的,没弄错的话也是支持传送文件的,当然是局域网,不过是当年上学时练手的,还是有不少bug。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
顺家有小孩
2012-04-12 · 超过17用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:23.2万
展开全部
自已写吧,慢慢的就写出来了,先把界面做出来,再一步步的实现,很快就搞定了的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式