java socket的简单使用实例
来源:互联网 发布:淘宝onlyanna罗晓颖 编辑:程序博客网 时间:2024/06/14 18:29
共有两个文件,服务器端Server 和客户端Client
//Server1代码如下:
import java.net.*;
import java.io.*;
public class Server1 implements Runnable
{
ServerSocket server=null;
Socket clientSocket;
boolean flag=true; //是否结束的标记
Thread c; //向客户端发送信息的线程
BufferedReader sin;
DataOutputStream sout;
public static void main(String args[])
{
new Server1().ServerStart();
}
public void ServerStart()
{
try
{
server=new ServerSocket(5678);
System.out.println("端口号:"+server.getLocalPort());
while(flag)
{
clientSocket=server.accept();
System.out.println("已经建立连接。");
InputStream is=clientSocket.getInputStream();
sin= new BufferedReader(new InputStreamReader(is));
OutputStream os=clientSocket.getOutputStream();
sout=new DataOutputStream(os); //获得本地输出流
c=new Thread(this);
c.start(); //启动线程,向客户端发送信息
String aline;
while((aline=sin.readLine())!=null) //接受客户端的信息
{
System.out.println(aline);
if(aline.equals("bye"))
{
flag=false;
c.interrupt();
break;
}
}
sout.close();
os.close();
sin.close();
is.close();
clientSocket.close();
System.exit(0);
}
}
catch(Exception e)
{
System.out.println(e);
}
}
public void run()
{
while(true)
{
try
{
int ch;
while((ch=System.in.read())!=-1)
{
sout.write((byte)ch);
if(ch=='/n')
{
sout.flush();
}
}
}
catch(Exception e)
{
System.out.println(e);
}
}
}
public void finalize() //析构方法
{
try
{
server.close();
}
catch(IOException e)
{
System.out.print(e);
}
}
}
//Client1代码如下
import java.net.*;
import java.io.*;
public class Client1 implements Runnable
{
Socket clientSocket;
boolean flag=true;
Thread c;
BufferedReader cin;
DataOutputStream cout;
public static void main(String args[])
{
new Client1().ClientStart();
}
public void ClientStart()
{
try
{
clientSocket=new Socket("192.168.0.1",5678); //主机Server1的IP地址
System.out.println("已经建立连接");
while(flag)
{
InputStream is=clientSocket.getInputStream();
cin=new BufferedReader(new InputStreamReader(is));
OutputStream os=clientSocket.getOutputStream();
cout=new DataOutputStream(os);
c=new Thread(this);
c.start();
String aline;
while((aline=cin.readLine())!=null)
{
System.out.println(aline);
if(aline.equals("bye"))
{
flag=false;
c.interrupt();
break;
}
}
cout.close();
os.close();
cin.close();
is.close();
clientSocket.close();
System.exit(0);
}
}
catch(Exception e)
{
System.out.println(e);
}
}
public void run()
{
while(true)
{
try
{
int ch;
while((ch=System.in.read())!=-1)
{
cout.write((byte)ch);
if(ch=='/n')
{
cout.flush();
}
}
}
catch(Exception e)
{
System.out.println(e);
}
}
}
}
- java socket的简单使用实例
- java Socket 简单的实例
- JAVA Socket简单实例
- Java Socket简单实例
- java socket简单实例
- 浅述JAVA Socket的简单实例实现
- java nio socket简单实例
- java socket简单实例练习
- Java Socket 简单编程实例
- java BIO socket的简单使用
- 基于Tcp协议的简单Socket通信实例(JAVA)
- 基于Tcp协议的简单Socket通信实例(JAVA)
- socket的简单通讯实例
- 简单的php socket 实例
- Java socket通信实例,简单入门socket实例代码
- Socket的简单使用
- 使用Java发布WebService的简单实例
- 使用socket发送邮件 简单实例
- 关于SQLDatasource控件的事件和参数
- Struts2与Struts1.x的深度比较
- 被问到的面试题答案。不用临时变量交换2个变量的值。
- java Native Method初涉
- asp.net中采用ajax进行多文件上传和删除
- java socket的简单使用实例
- 前苏联垂死时分27.5万亿美元消失的真相
- 整理的一些SQL技巧
- 实现ASP.NET多文件上传程序代码
- 清除其他废弃的MV
- Java SE 参数传递[一]
- Tomcat 向 Weblogic 迁移的问题记录
- 照片的光感和层次调节
- HTML Dog 征集书名活动获奖名单公布