File tree Expand file tree Collapse file tree 2 files changed +9
-4
lines changed
Expand file tree Collapse file tree 2 files changed +9
-4
lines changed Original file line number Diff line number Diff line change @@ -36,19 +36,19 @@ def client_server():
3636 else :
3737 break
3838
39- str_buf = ' hello server'
39+ str_buf = ' hello server' #服务器欢迎语
4040 msg_buf = server_fun .pack_msg (server_fun .get_time_str (),str_buf ,client_name )
4141 #准备socket通信
4242 client_sock = socket .socket (socket .AF_INET ,socket .SOCK_STREAM )
43- client_sock .connect (('127.0.0.1' , 8080 ))
43+ client_sock .connect ((server_ip , server_port )) #改写成更灵活的形式
4444 client_sock .send (msg_buf )#发送握手包
4545
4646 #下面要启动线程用来接收消息
4747 thread .start_new_thread (thread_client ,(client_sock ,))
4848
4949 while True :
5050 while True :
51- send_str_buf = raw_input ('请输入要发送的消息:' )
51+ send_str_buf = raw_input ('请输入要发送的消息:\n ' )
5252 if len (send_str_buf )> 100 :
5353 print '你说的话太长了'
5454 else :
Original file line number Diff line number Diff line change 44#单元测试不要忘
55#coding by iamwall 20140816 python 网络聊天室
66# fuck的 一个字符串的问题搞了一下午 原来python中的字符串结束不是\0
7+ #20140816增加了动态的ip绑定和欢迎信息
78import client_table
89import struct
910import socket
@@ -63,7 +64,7 @@ def start_server():
6364 #下面准备tcp通信
6465 server_sock = socket .socket (socket .AF_INET ,socket .SOCK_STREAM )#获取描述符
6566 server_sock .setsockopt (socket .SOL_SOCKET ,socket .SO_REUSEADDR ,1 )#设置端口重用
66- server_sock .bind (('127.0.0.1' , 8080 ))#这个地方的ip应该整成可变的
67+ server_sock .bind ((ip_address , port ))#这个地方的ip应该整成可变的
6768 server_sock .listen (50 )
6869 #主线程维护客户端表 子线程搞定客户端
6970 while True :
@@ -75,6 +76,10 @@ def start_server():
7576
7677 if server_table .add_client_member (unpack_msg (first_msg )[2 ],client_connection ):
7778 #这里是将客户端链接成功添加到了客户端表中了 下面该启动线程了
79+ #要在这里加上欢迎信息
80+ #准备包
81+ wecome_msg = pack_msg (get_time_str (),'欢迎:' + unpack_msg (first_msg )[2 ]+ '上线' ,'服务器' )
82+ send_msg_to_all (wecome_msg ,server_table )
7883 print '为:%s启动线程' % unpack_msg (first_msg )[2 ]
7984 print client_address
8085 #开始启动线程
You can’t perform that action at this time.
0 commit comments