首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

游戏开发五_01 网络编程

2013-11-22 
游戏开发5_01 网络编程package wyf.ytlimport java.io.DataInputStream//引入DataInputStream类import j

游戏开发5_01 网络编程
package wyf.ytl;
import java.io.DataInputStream;//引入DataInputStream类
import java.io.DataOutputStream;//引入DataOutputStream类
import java.net.Socket;//引入Socket类
import android.app.Activity;//引入Activity类
import android.os.Bundle;//引入Bundle类
import android.view.View;//引入View类
import android.view.View.OnClickListener;//引入OnClickListener类
import android.widget.Button;//引入Button类
import android.widget.EditText;//引入EditText类
import android.widget.TextView;//引入TextView类
public class Sample_5_1 extends Activity implements OnClickListener{
Button button1;//按钮的引用
EditText editText;//文本框的引用
TextView textView;//文本的引用
    public void onCreate(Bundle savedInstanceState) {//重写的onCreate回调方法
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);//设置当前的用户界面
        button1 = (Button) findViewById(R.id.button1);//得到布局中的按钮引用
        editText = (EditText) findViewById(R.id.editText);
        textView = (TextView) findViewById(R.id.textView);
        button1.setOnClickListener(this);//添加监听
    }
public void onClick(View v) {
Socket s = null;
DataOutputStream dout = null;
DataInputStream din = null;
if(v == button1){//点击的是按钮
try {
s = new Socket("192.168.9.102", 8888);//连接服务器
dout = new DataOutputStream(s.getOutputStream());//得到输出流
din = new DataInputStream(s.getInputStream());//得到输入流
dout.writeUTF(editText.getText().toString());//向服务器发送消息
textView.setText("服务器发来的消息:" + din.readUTF());//接收服务器发来的消息
} catch (Exception e) {
e.printStackTrace();//打印异常信息
} finally {
try{
if(dout != null){
dout.close();//关闭输入流
}
if(din != null){
din.close();//关闭输入流
}
if(s != null){
s.close();//关闭Socket连接
}
}
catch(Exception e){
e.printStackTrace();//打印异常信息
}
}
}
}
}


package wyf.ytl;
import java.io.DataInputStream;//引入相关类
import java.io.DataOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Sample_5_1Server{
public static void main(String[] args){//主方法
ServerSocket ss = null;//ServerSocket的引用
Socket s = null;//Socket的引用
DataInputStream din = null;
DataOutputStream dout = null;
try{
ss = new ServerSocket(8888);//监听到8888端口
System.out.println("已监听到8888端口!");
}
catch(Exception e){
e.printStackTrace();//打印异常信息
}
while(true){
try{
s = ss.accept();//等待客户端连接
din = new DataInputStream(s.getInputStream());
dout = new DataOutputStream(s.getOutputStream());//得到输入输出流
String msg = din.readUTF();//读一个字符串
System.out.println("ip: " + s.getInetAddress());//打印客户端IP
System.out.println("msg: " + msg);//打印客户端发来的消息
System.out.println("====================");
dout.writeUTF("Hello Client!");//向客户端发送消息
}
catch(Exception e){
e.printStackTrace();//打印异常信息
}
finally{
try{
if(dout != null){
dout.close();//关闭输出流
}
if(din != null){
din.close();//关闭输入流
}
if(s != null){
s.close();//关闭Socket连接
}
}
catch(Exception e){
e.printStackTrace();//打印异常信息
}
}
}
}
}





<?xml version="1.0" encoding="utf-8"?><!-- XML的版本以及编码方式 -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    ><!--添加一个垂直的线性布局-->
<EditText
android:id="@+id/editText"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Hello Server!"
    /><!--添加一个输入文本框-->
    <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="发送信息到服务器"
    /><!--添加一个发送按钮 -->
   <TextView
   android:id="@+id/textView"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="服务器发来的消息:"
   /><!--添加一个文本控件显现服务器发来的信息-->
</LinearLayout>

热点排行