我想用j2se Socket写一个客户端和服务器和客户端端,假设服务器和客户端端在广东,客户端在海南。 客户端连接是IP是什么?

一个服务器端程序与多个客户端连接通信TCP Socket
[问题点数:100分,结帖人dreamsmth]
一个服务器端程序与多个客户端连接通信TCP Socket
[问题点数:100分,结帖人dreamsmth]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2016年3月 .NET技术大版内专家分月排行榜第二2016年1月 .NET技术大版内专家分月排行榜第二2015年12月 .NET技术大版内专家分月排行榜第二2015年2月 .NET技术大版内专家分月排行榜第二2015年1月 .NET技术大版内专家分月排行榜第二2014年11月 .NET技术大版内专家分月排行榜第二2014年5月 .NET技术大版内专家分月排行榜第二2014年4月 .NET技术大版内专家分月排行榜第二2012年2月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二
2016年4月 .NET技术大版内专家分月排行榜第三2016年2月 .NET技术大版内专家分月排行榜第三2015年10月 .NET技术大版内专家分月排行榜第三2015年9月 .NET技术大版内专家分月排行榜第三2015年7月 .NET技术大版内专家分月排行榜第三2015年6月 .NET技术大版内专家分月排行榜第三2015年5月 .NET技术大版内专家分月排行榜第三2015年4月 .NET技术大版内专家分月排行榜第三2014年12月 .NET技术大版内专家分月排行榜第三2014年10月 .NET技术大版内专家分月排行榜第三2014年9月 .NET技术大版内专家分月排行榜第三2014年1月 .NET技术大版内专家分月排行榜第三2013年12月 .NET技术大版内专家分月排行榜第三2013年10月 .NET技术大版内专家分月排行榜第三2013年5月 .NET技术大版内专家分月排行榜第三2011年9月 .NET技术大版内专家分月排行榜第三2011年2月 .NET技术大版内专家分月排行榜第三2010年2月 .NET技术大版内专家分月排行榜第三
2016年3月 .NET技术大版内专家分月排行榜第二2016年1月 .NET技术大版内专家分月排行榜第二2015年12月 .NET技术大版内专家分月排行榜第二2015年2月 .NET技术大版内专家分月排行榜第二2015年1月 .NET技术大版内专家分月排行榜第二2014年11月 .NET技术大版内专家分月排行榜第二2014年5月 .NET技术大版内专家分月排行榜第二2014年4月 .NET技术大版内专家分月排行榜第二2012年2月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二
2016年4月 .NET技术大版内专家分月排行榜第三2016年2月 .NET技术大版内专家分月排行榜第三2015年10月 .NET技术大版内专家分月排行榜第三2015年9月 .NET技术大版内专家分月排行榜第三2015年7月 .NET技术大版内专家分月排行榜第三2015年6月 .NET技术大版内专家分月排行榜第三2015年5月 .NET技术大版内专家分月排行榜第三2015年4月 .NET技术大版内专家分月排行榜第三2014年12月 .NET技术大版内专家分月排行榜第三2014年10月 .NET技术大版内专家分月排行榜第三2014年9月 .NET技术大版内专家分月排行榜第三2014年1月 .NET技术大版内专家分月排行榜第三2013年12月 .NET技术大版内专家分月排行榜第三2013年10月 .NET技术大版内专家分月排行榜第三2013年5月 .NET技术大版内专家分月排行榜第三2011年9月 .NET技术大版内专家分月排行榜第三2011年2月 .NET技术大版内专家分月排行榜第三2010年2月 .NET技术大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。&&&&局域网聊天软件,服务器端和客户端代码,J2SE
局域网聊天软件,服务器端和客户端代码,J2SE
1. 登陆功能
这是整个程序运行时的第一个界面。出现一个界面,填入账号和密码,服务器验证成功,出现聊天界面。在登陆界面上有一个注册按钮,点击到注册界面
2. 注册功能
出现一个界面,填入客户的资料,如果发现账号重复,要求给出提示;部门用下拉菜单选择;密码输入两次;注册成功,出现登陆界面
3. 聊天界面
聊天界面上能够:出现在线用户情况;接受发送消息;接受发送文件;群聊私聊;显示消息
4. 群聊功能
通过这个功能,客户选择列表中的一些人,要求能够将信息发给这些人,界面设计自理
5. 私聊功能
通过这个功能,选择某个在线用户,要求能够将信息发给某个人,界面设计自理
6. 发送——接受文件
这个功能只能将文件发给某一个人
7. 系统消息和警告消息
服务器端发送系统消息可以让每一个在线的用户接受到,主要是公布一些通知;发送警告消息可以给一些特定的人,主要对他们进行一些警告
8. 聊天记录保存和查看
客户端点击一个用户名,可以打开一个界面,显示他和这个用户的聊天记录
9. 在线名单实时刷新
有人上线或者下线,在线名单应该刷新
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
开发技术下载排行4063人阅读
学习心得(36)
如何实现服务器端支持多个客户端同时工作?秘籍就是:在服务器端利用多线程。
import java.io.*;
import java.net.*;
* Socket客户端
* 功能为:发送字符串“Hello”到服务器端,并打印出服务器端的反馈
public class MulSocketClient {
public static void main(String[] args) {
Socket socket =
InputStream is =
OutputStream os =
//服务器端IP地址
String serverIP = &127.0.0.1&;
//服务器端端口号
int port = 10000;
//发送内容
String data[] ={&First&,&Second&,&Third&};
//建立连接
socket = new Socket(serverIP,port);
//初始化流
os = socket.getOutputStream();
is = socket.getInputStream();
byte[] b = new byte[1024];
for(int i = 0;i & data.i++){
//发送数据
os.write(data[i].getBytes());
//接收数据
int n = is.read(b);
//输出反馈数据
System.out.println(&服务器反馈:& + new String(b,0,n));
} catch (Exception e) {
e.printStackTrace(); //打印异常信息
//关闭流和连接
is.close();
os.close();
socket.close();
} catch (Exception e2) {}
服务器端:
import java.net.ServerS
import java.net.S
* 支持多客户端的服务器端实现
public class MulThreadSocketServer {
public static void main(String[] args) {
ServerSocket serverSocket =
Socket socket =
//监听端口号
int port = 10000;
//建立连接
serverSocket = new ServerSocket(port);
System.out.println(&服务器已启动:&);
while(true){
//获得连接
socket = serverSocket.accept();
//启动线程
new LogicThread(socket);
} catch (Exception e) {
e.printStackTrace();
//关闭连接
serverSocket.close();
}catch(Exception e){}
服务器端多线程类:
import java.io.InputS
import java.io.OutputS
import java.net.S
public class LogicThread extends Thread {
public LogicThread(Socket socket){
this.socket =
start(); //启动线程
public void run(){
byte[] b = new byte[1024];
//初始化流
os = socket.getOutputStream();
is = socket.getInputStream();
for(int i = 0;i & 3;i++){
//读取数据
int n = is.read(b);
//逻辑处理
byte[] response = logic(b,0,n);
//反馈数据
os.write(response);
}catch(Exception e){
e.printStackTrace();
* 关闭流和连接
private void close(){
//关闭流和连接
os.close();
is.close();
socket.close();
}catch(Exception e){}
* 逻辑处理方法,实现echo逻辑
* @param b 客户端发送数据缓冲区
* @param off 起始下标
* @param len 有效数据长度
private byte[] logic(byte[] b,int off,int len){
byte[] response = new byte[len];
//将有效数据拷贝到数组response中
System.arraycopy(b, 0, response, 0, len);
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:53611次
排名:千里之外
原创:43篇
评论:19条
(5)(2)(5)(30)(2)(2)

我要回帖

更多关于 服务器和客户端 的文章

 

随机推荐