导航:首页 > 编程语言 > java面试题socket方面

java面试题socket方面

发布时间:2024-12-11 23:27:51

java 问题,用socket编写一个客户端程序

给你一个我写的示例,用的是基于TCP的Socket技术,你锻炼一下,改一改,不会改再找我!
客户端:
import java.net.Socket;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;

public class TcpClient {

public static void main(String[] args) throws Exception
{
//创建客户端Socket服务,并且制定主机和ank
Socket s = new Socket("192.168.1.104",10002);//连接固定的主机和端口

//为了发送数据,获取Socket中的输入输出流
OutputStream out = s.getOutputStream();
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String line = null;

//读取服务器发过来的数据
InputStream in = s.getInputStream();
byte[] buf = new byte[1024];

while((line = br.readLine())!=null)
{
out.write(line.getBytes());
if("886".equals(line))
break;

int len = in.read(buf);
String content = new String(buf,0,len);
System.out.println("Server:"+content);
}

s.close();

}
}

服务器:
/*
* 需求分析:
* 使用TCP协议,写服务器端。做到服务器能收到客户端的信息,也能向客户端发送信息
* */

package JavaNetProgramming;
import java.net.ServerSocket;
import java.net.Socket;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;

public class TcpServer {
public static void main(String[] args) throws Exception
{
//建立服务器的Socket服务,并且监听一个端口
ServerSocket ss = new ServerSocket(10002);
Socket s = ss.accept();
InputStream is = s.getInputStream();

//从服务器端向客户端发送数据
OutputStream out = s.getOutputStream();
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String line = null;

while(true)
{
//通过accept()方法获得客户端传过来的Socket对象

// System.out.println("getByNanme():"+s.getInetAddress());
System.out.print("getHostAddress():"+s.getInetAddress().getHostAddress());

//获取客户端发过来的数据,就要使用客户端对象的读取流来读取数据

byte[] buf = new byte[1024];
int len = is.read(buf);//把流中数据读到字节数组中
String content = new String(buf,0,len);
System.out.println(" "+content);

if("886".equals(content))
break;
while((line = br.readLine())!=null)
{
out.write(line.getBytes());
break;
}

}

s.close(); //循环内有判断语句,这句话才不出错
ss.close();

}

}

阅读全文

与java面试题socket方面相关的资料

热点内容
怎么查看6s是什么版本 浏览:250
手机移动网络无法打电话什么原因 浏览:803
女巫与圣徒jk店铺在哪个app 浏览:383
网上商城数据库表 浏览:838
linux循环拷贝文件 浏览:354
京东怎么修改邮箱账号密码 浏览:304
如何判断网络的距离 浏览:216
如何在网站上放文件给别人下载 浏览:153
老款马三钥匙如何编程 浏览:958
平板电脑怎么开压缩文件 浏览:346
网站服务内容选什么 浏览:491
cad文件图纸保护插件 浏览:430
网络用语做人不能太什么 浏览:140
发文字有哪些文件 浏览:201
hbase查询数据库 浏览:421
十堰公交车扫码下载什么app 浏览:350
网站图片模糊如何变清晰 浏览:846
手机qq浏览器错误代码0 浏览:297
嵌入式微信公众号 浏览:596
指标文件有哪些 浏览:43

友情链接