社区
Java SE
帖子详情
请教一个socket 程序问题?
yoshubom
2007-09-03 04:56:34
想实现这样的效果,client 不断的向server 发送消息,server 接收到消息之后原路返回般的给client 写些信息。请问该如何实现?
...全文
161
5
打赏
收藏
请教一个socket 程序问题?
想实现这样的效果,client 不断的向server 发送消息,server 接收到消息之后原路返回般的给client 写些信息。请问该如何实现?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lfcai
2007-09-03
打赏
举报
回复
学习下~~~~~~~~~~~
yoshubom
2007-09-03
打赏
举报
回复
我知道了,刚刚没有仔细看代码。多谢!
yoshubom
2007-09-03
打赏
举报
回复
这个程序的客户端和服务器端都是手动输入字符串的,请问如何自动收发字符串,用write() 方法?
joohnnie
2007-09-03
打赏
举报
回复
http://fanqiang.chinaunix.net/a4/b5/20011230/08300025.html
原文
joohnnie
2007-09-03
打赏
举报
回复
import java.net.*;
import java.io.*;
import java.lang.*;
public class myserver{
public static void main(String args[]){
ServerSocket server;
Socket socket;
String s;
InputStream Is;
OutputStream Os;
DataInputStream DIS;
PrintStream PS;
try{
//在端口4321注册服务
server=new ServerSocket(4321);
socket=server.accept(); //监听窗口,等待连接
System.out.println("server ok");
System.out.println("************************************************");
System.out.println("");
//获得对应Socket的输入/输出流
Is=socket.getInputStream();
Os=socket.getOutputStream();
//建立数据流
DIS=new DataInputStream(Is);
PS=new PrintStream(Os);
DataInputStream in=new DataInputStream(System.in);
while(true){
System.out.println("");
System.out.println("please wait client's message...");
System.out.println("");
s=DIS.readLine(); //读入从client传来的字符串
System.out.println("client said:"+s); //打印字符串
if(s.trim().equals("BYE"))break; //如果是"BYE",就退出
System.out.print("you say:");
s=in.readLine(); //读取用户输入的字符串
PS.println(s); //将读取得字符串传给client
if(s.trim().equals("BYE"))break; //如果是"BYE",就退出
}
//关闭连接
DIS.close(); //关闭数据输入流
PS.close(); //关闭数据输出流
Is.close(); //关闭输入流
Os.close(); //关闭输出流
socket.close(); //关闭sockey
}
catch(Exception e){
System.out.println("Error:"+e);
}
}
}
通话器客户端
import java.net.*;
import java.io.*;
import java.lang.*;
public class myclient{
public static void main(String args[]){
if (args.length<1){ //判断命令加参数没有
System.out.println("you forget the name of the server!");
System.out.println("see also: myclient yxf");
System.exit(1); //如果没加参数就退出
}
Socket socket;
String s="yxfsoft@263.net";
String len;
InputStream Is;
OutputStream Os;
DataInputStream DIS;
PrintStream PS;
try{
//向主机名为args[0]的服务器申请连接
//注意端口号要与服务器保持一致:4321
socket=new Socket(args[0],4321);
System.out.println("client ok");
System.out.println("************************************************");
System.out.println("");
//获得对应socket的输入/输出流
Is=socket.getInputStream();
Os=socket.getOutputStream();
//建立数据流
DIS=new DataInputStream(Is);
PS=new PrintStream(Os);
DataInputStream in=new DataInputStream(System.in);
while(true){
System.out.print("you say:");
s=in.readLine(); //读取用户输入的字符串
PS.println(s); //将读取得字符串传给server
if(s.trim().equals("BYE"))break; //如果是"BYE",就退出
else
{
System.out.println("");
System.out.println("please wait server's message...");
System.out.println("");
}
s=DIS.readLine(); //从服务器获得字符串
System.out.println("server said:"+s); //打印字符串
if(s.trim().equals("BYE"))break; //如果是"BYE",就退出
}
//关闭连接
DIS.close(); //关闭数据输入流
PS.close(); //关闭数据输出流
Is.close(); //关闭输入流
Os.close(); //关闭输出流
socket.close(); //关闭socket
}
catch(Exception e){
System.out.println("Error:"+e);
}
}
}
聊天
程序
(局域网)
这句话提到了
程序
的来源——
一个
名为“大富翁”的人,以及如果遇到
问题
可以向他寻求帮助。这表明该
程序
可能是
一个
个人项目或者小团队开发的成果,而不是商业软件。宁柯可能是开发者或者是对
程序
有深入了解的人。描述...
Java自学之路——(精华版)
同时,参与开源项目,或者自己设计项目,如开发
一个
简单的博客系统,将所学知识应用到实践中。 四、优先处理关键任务 在学习过程中,应优先掌握核心概念和技术,如面向对象编程、异常处理、集合框架等。这些是Java...
基于Android智能终端的多协议接入网关.pdf
本文件"基于Android智能终端的多协议接入网关"聚焦于利用Android平台来设计和实现
一个
能处理多种网络协议的接入网关。这样的网关允许不同的设备和系统通过统一的接口进行通信,极大地提高了网络互操作性和灵活性。 ...
计算机求职意向简历.pdf
一个
多月的学徒经历虽然没能学到高深的专业知识,但使我对什么是工作有了进一歩了计算机求职意向简历。 计算机求职意向简历篇二: 姓名:xxx 民族:xxx 性别:xxx 籍贯:xxx 出生年月: 政治面貌:共产党员 学历:...
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章